// $G $D/$F.go && $L $F.$A &&
// ./$A.out -pass 0 >tmp.go && $G tmp.go && $L -o $A.out1 tmp.$A && ./$A.out1 &&
// ./$A.out -pass 1 >tmp.go && errchk $G -e tmp.go &&
// ./$A.out -pass 2 >tmp.go && errchk $G -e tmp.go
// rm -f tmp.go $A.out1

// Copyright 2010 The Go Authors.  All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Generate test of index and slice bounds checks.


// [Peter FANG] Above is from the original index.go, telling how to run it.
// Below is the replaced one, which is the output of the original one;

// $G $D/$F.go && $L $F.$A && ./$A.out



package main

import (
	"runtime"
)

type quad struct { x, y, z, w int }

const (
	cj = 11
	ci int = 12
	ci32 int32 = 13
	ci64 int64 = 14
	ci64big int64 = 1<<31
	ci64bigger int64 = 1<<32
	chuge = 1<<100

	cnj = -2
	cni int = -3
	cni32 int32 = -4
	cni64 int64 = -5
	cni64big int64 = -1<<31
	cni64bigger int64 = -1<<32
	cnhuge = -1<<100
)

var j int = 20
var i int = 21
var i32 int32 = 22
var i64 int64 = 23
var i64big int64 = 1<<31
var i64bigger int64 = 1<<32
var huge uint64 = 1<<64 - 1

var nj int = -10
var ni int = -11
var ni32 int32 = -12
var ni64 int64 = -13
var ni64big int64 = -1<<31
var ni64bigger int64 = -1<<32
var nhuge int64 = -1<<63

var si []int = make([]int, 10)
var ai [10]int
var pai *[10]int = &ai

var sq []quad = make([]quad, 10)
var aq [10]quad
var paq *[10]quad = &aq

type T struct {
	si []int
	ai [10]int
	pai *[10]int
	sq []quad
	aq [10]quad
	paq *[10]quad
}

var t = T{si, ai, pai, sq, aq, paq}

var pt = &T{si, ai, pai, sq, aq, paq}

// test that f panics
func test(f func(), s string) {
	defer func() {
		if err := recover(); err == nil {
			_, file, line, _ := runtime.Caller(2)
			bug()
			print(file, ":", line, ": ", s, " did not panic\n")
		}
	}()
	f()
}

var X interface{}
func use(y interface{}) {
	X = y
}

var didBug = false

func bug() {
	if !didBug {
		didBug = true
		println("BUG")
	}
}

func main() {
	test(func(){use(ai[j])}, "ai[j]")
	test(func(){use(ai[0:j])}, "ai[0:j]")
	test(func(){use(ai[1:j])}, "ai[1:j]")
	test(func(){use(ai[j:])}, "ai[j:]")
	test(func(){use(ai[j:j])}, "ai[j:j]")
	test(func(){use(ai[i])}, "ai[i]")
	test(func(){use(ai[0:i])}, "ai[0:i]")
	test(func(){use(ai[1:i])}, "ai[1:i]")
	test(func(){use(ai[i:])}, "ai[i:]")
	test(func(){use(ai[i:i])}, "ai[i:i]")
	test(func(){use(ai[i32])}, "ai[i32]")
	test(func(){use(ai[0:i32])}, "ai[0:i32]")
	test(func(){use(ai[1:i32])}, "ai[1:i32]")
	test(func(){use(ai[i32:])}, "ai[i32:]")
	test(func(){use(ai[i32:i32])}, "ai[i32:i32]")
	test(func(){use(ai[i64])}, "ai[i64]")
	test(func(){use(ai[0:i64])}, "ai[0:i64]")
	test(func(){use(ai[1:i64])}, "ai[1:i64]")
	test(func(){use(ai[i64:])}, "ai[i64:]")
	test(func(){use(ai[i64:i64])}, "ai[i64:i64]")
	test(func(){use(ai[i64big])}, "ai[i64big]")
	test(func(){use(ai[0:i64big])}, "ai[0:i64big]")
	test(func(){use(ai[1:i64big])}, "ai[1:i64big]")
	test(func(){use(ai[i64big:])}, "ai[i64big:]")
	test(func(){use(ai[i64big:i64big])}, "ai[i64big:i64big]")
	test(func(){use(ai[i64bigger])}, "ai[i64bigger]")
	test(func(){use(ai[0:i64bigger])}, "ai[0:i64bigger]")
	test(func(){use(ai[1:i64bigger])}, "ai[1:i64bigger]")
	test(func(){use(ai[i64bigger:])}, "ai[i64bigger:]")
	test(func(){use(ai[i64bigger:i64bigger])}, "ai[i64bigger:i64bigger]")
	test(func(){use(ai[huge])}, "ai[huge]")
	test(func(){use(ai[0:huge])}, "ai[0:huge]")
	test(func(){use(ai[1:huge])}, "ai[1:huge]")
	test(func(){use(ai[huge:])}, "ai[huge:]")
	test(func(){use(ai[huge:huge])}, "ai[huge:huge]")
	test(func(){use(ai[nj])}, "ai[nj]")
	test(func(){use(ai[0:nj])}, "ai[0:nj]")
	test(func(){use(ai[1:nj])}, "ai[1:nj]")
	test(func(){use(ai[nj:])}, "ai[nj:]")
	test(func(){use(ai[nj:nj])}, "ai[nj:nj]")
	test(func(){use(ai[ni])}, "ai[ni]")
	test(func(){use(ai[0:ni])}, "ai[0:ni]")
	test(func(){use(ai[1:ni])}, "ai[1:ni]")
	test(func(){use(ai[ni:])}, "ai[ni:]")
	test(func(){use(ai[ni:ni])}, "ai[ni:ni]")
	test(func(){use(ai[ni32])}, "ai[ni32]")
	test(func(){use(ai[0:ni32])}, "ai[0:ni32]")
	test(func(){use(ai[1:ni32])}, "ai[1:ni32]")
	test(func(){use(ai[ni32:])}, "ai[ni32:]")
	test(func(){use(ai[ni32:ni32])}, "ai[ni32:ni32]")
	test(func(){use(ai[ni64])}, "ai[ni64]")
	test(func(){use(ai[0:ni64])}, "ai[0:ni64]")
	test(func(){use(ai[1:ni64])}, "ai[1:ni64]")
	test(func(){use(ai[ni64:])}, "ai[ni64:]")
	test(func(){use(ai[ni64:ni64])}, "ai[ni64:ni64]")
	test(func(){use(ai[ni64big])}, "ai[ni64big]")
	test(func(){use(ai[0:ni64big])}, "ai[0:ni64big]")
	test(func(){use(ai[1:ni64big])}, "ai[1:ni64big]")
	test(func(){use(ai[ni64big:])}, "ai[ni64big:]")
	test(func(){use(ai[ni64big:ni64big])}, "ai[ni64big:ni64big]")
	test(func(){use(ai[ni64bigger])}, "ai[ni64bigger]")
	test(func(){use(ai[0:ni64bigger])}, "ai[0:ni64bigger]")
	test(func(){use(ai[1:ni64bigger])}, "ai[1:ni64bigger]")
	test(func(){use(ai[ni64bigger:])}, "ai[ni64bigger:]")
	test(func(){use(ai[ni64bigger:ni64bigger])}, "ai[ni64bigger:ni64bigger]")
	test(func(){use(ai[nhuge])}, "ai[nhuge]")
	test(func(){use(ai[0:nhuge])}, "ai[0:nhuge]")
	test(func(){use(ai[1:nhuge])}, "ai[1:nhuge]")
	test(func(){use(ai[nhuge:])}, "ai[nhuge:]")
	test(func(){use(ai[nhuge:nhuge])}, "ai[nhuge:nhuge]")
	test(func(){use(aq[j])}, "aq[j]")
	test(func(){use(aq[0:j])}, "aq[0:j]")
	test(func(){use(aq[1:j])}, "aq[1:j]")
	test(func(){use(aq[j:])}, "aq[j:]")
	test(func(){use(aq[j:j])}, "aq[j:j]")
	test(func(){use(aq[i])}, "aq[i]")
	test(func(){use(aq[0:i])}, "aq[0:i]")
	test(func(){use(aq[1:i])}, "aq[1:i]")
	test(func(){use(aq[i:])}, "aq[i:]")
	test(func(){use(aq[i:i])}, "aq[i:i]")
	test(func(){use(aq[i32])}, "aq[i32]")
	test(func(){use(aq[0:i32])}, "aq[0:i32]")
	test(func(){use(aq[1:i32])}, "aq[1:i32]")
	test(func(){use(aq[i32:])}, "aq[i32:]")
	test(func(){use(aq[i32:i32])}, "aq[i32:i32]")
	test(func(){use(aq[i64])}, "aq[i64]")
	test(func(){use(aq[0:i64])}, "aq[0:i64]")
	test(func(){use(aq[1:i64])}, "aq[1:i64]")
	test(func(){use(aq[i64:])}, "aq[i64:]")
	test(func(){use(aq[i64:i64])}, "aq[i64:i64]")
	test(func(){use(aq[i64big])}, "aq[i64big]")
	test(func(){use(aq[0:i64big])}, "aq[0:i64big]")
	test(func(){use(aq[1:i64big])}, "aq[1:i64big]")
	test(func(){use(aq[i64big:])}, "aq[i64big:]")
	test(func(){use(aq[i64big:i64big])}, "aq[i64big:i64big]")
	test(func(){use(aq[i64bigger])}, "aq[i64bigger]")
	test(func(){use(aq[0:i64bigger])}, "aq[0:i64bigger]")
	test(func(){use(aq[1:i64bigger])}, "aq[1:i64bigger]")
	test(func(){use(aq[i64bigger:])}, "aq[i64bigger:]")
	test(func(){use(aq[i64bigger:i64bigger])}, "aq[i64bigger:i64bigger]")
	test(func(){use(aq[huge])}, "aq[huge]")
	test(func(){use(aq[0:huge])}, "aq[0:huge]")
	test(func(){use(aq[1:huge])}, "aq[1:huge]")
	test(func(){use(aq[huge:])}, "aq[huge:]")
	test(func(){use(aq[huge:huge])}, "aq[huge:huge]")
	test(func(){use(aq[nj])}, "aq[nj]")
	test(func(){use(aq[0:nj])}, "aq[0:nj]")
	test(func(){use(aq[1:nj])}, "aq[1:nj]")
	test(func(){use(aq[nj:])}, "aq[nj:]")
	test(func(){use(aq[nj:nj])}, "aq[nj:nj]")
	test(func(){use(aq[ni])}, "aq[ni]")
	test(func(){use(aq[0:ni])}, "aq[0:ni]")
	test(func(){use(aq[1:ni])}, "aq[1:ni]")
	test(func(){use(aq[ni:])}, "aq[ni:]")
	test(func(){use(aq[ni:ni])}, "aq[ni:ni]")
	test(func(){use(aq[ni32])}, "aq[ni32]")
	test(func(){use(aq[0:ni32])}, "aq[0:ni32]")
	test(func(){use(aq[1:ni32])}, "aq[1:ni32]")
	test(func(){use(aq[ni32:])}, "aq[ni32:]")
	test(func(){use(aq[ni32:ni32])}, "aq[ni32:ni32]")
	test(func(){use(aq[ni64])}, "aq[ni64]")
	test(func(){use(aq[0:ni64])}, "aq[0:ni64]")
	test(func(){use(aq[1:ni64])}, "aq[1:ni64]")
	test(func(){use(aq[ni64:])}, "aq[ni64:]")
	test(func(){use(aq[ni64:ni64])}, "aq[ni64:ni64]")
	test(func(){use(aq[ni64big])}, "aq[ni64big]")
	test(func(){use(aq[0:ni64big])}, "aq[0:ni64big]")
	test(func(){use(aq[1:ni64big])}, "aq[1:ni64big]")
	test(func(){use(aq[ni64big:])}, "aq[ni64big:]")
	test(func(){use(aq[ni64big:ni64big])}, "aq[ni64big:ni64big]")
	test(func(){use(aq[ni64bigger])}, "aq[ni64bigger]")
	test(func(){use(aq[0:ni64bigger])}, "aq[0:ni64bigger]")
	test(func(){use(aq[1:ni64bigger])}, "aq[1:ni64bigger]")
	test(func(){use(aq[ni64bigger:])}, "aq[ni64bigger:]")
	test(func(){use(aq[ni64bigger:ni64bigger])}, "aq[ni64bigger:ni64bigger]")
	test(func(){use(aq[nhuge])}, "aq[nhuge]")
	test(func(){use(aq[0:nhuge])}, "aq[0:nhuge]")
	test(func(){use(aq[1:nhuge])}, "aq[1:nhuge]")
	test(func(){use(aq[nhuge:])}, "aq[nhuge:]")
	test(func(){use(aq[nhuge:nhuge])}, "aq[nhuge:nhuge]")
	test(func(){use(pai[j])}, "pai[j]")
	test(func(){use(pai[0:j])}, "pai[0:j]")
	test(func(){use(pai[1:j])}, "pai[1:j]")
	test(func(){use(pai[j:])}, "pai[j:]")
	test(func(){use(pai[j:j])}, "pai[j:j]")
	test(func(){use(pai[i])}, "pai[i]")
	test(func(){use(pai[0:i])}, "pai[0:i]")
	test(func(){use(pai[1:i])}, "pai[1:i]")
	test(func(){use(pai[i:])}, "pai[i:]")
	test(func(){use(pai[i:i])}, "pai[i:i]")
	test(func(){use(pai[i32])}, "pai[i32]")
	test(func(){use(pai[0:i32])}, "pai[0:i32]")
	test(func(){use(pai[1:i32])}, "pai[1:i32]")
	test(func(){use(pai[i32:])}, "pai[i32:]")
	test(func(){use(pai[i32:i32])}, "pai[i32:i32]")
	test(func(){use(pai[i64])}, "pai[i64]")
	test(func(){use(pai[0:i64])}, "pai[0:i64]")
	test(func(){use(pai[1:i64])}, "pai[1:i64]")
	test(func(){use(pai[i64:])}, "pai[i64:]")
	test(func(){use(pai[i64:i64])}, "pai[i64:i64]")
	test(func(){use(pai[i64big])}, "pai[i64big]")
	test(func(){use(pai[0:i64big])}, "pai[0:i64big]")
	test(func(){use(pai[1:i64big])}, "pai[1:i64big]")
	test(func(){use(pai[i64big:])}, "pai[i64big:]")
	test(func(){use(pai[i64big:i64big])}, "pai[i64big:i64big]")
	test(func(){use(pai[i64bigger])}, "pai[i64bigger]")
	test(func(){use(pai[0:i64bigger])}, "pai[0:i64bigger]")
	test(func(){use(pai[1:i64bigger])}, "pai[1:i64bigger]")
	test(func(){use(pai[i64bigger:])}, "pai[i64bigger:]")
	test(func(){use(pai[i64bigger:i64bigger])}, "pai[i64bigger:i64bigger]")
	test(func(){use(pai[huge])}, "pai[huge]")
	test(func(){use(pai[0:huge])}, "pai[0:huge]")
	test(func(){use(pai[1:huge])}, "pai[1:huge]")
	test(func(){use(pai[huge:])}, "pai[huge:]")
	test(func(){use(pai[huge:huge])}, "pai[huge:huge]")
	test(func(){use(pai[nj])}, "pai[nj]")
	test(func(){use(pai[0:nj])}, "pai[0:nj]")
	test(func(){use(pai[1:nj])}, "pai[1:nj]")
	test(func(){use(pai[nj:])}, "pai[nj:]")
	test(func(){use(pai[nj:nj])}, "pai[nj:nj]")
	test(func(){use(pai[ni])}, "pai[ni]")
	test(func(){use(pai[0:ni])}, "pai[0:ni]")
	test(func(){use(pai[1:ni])}, "pai[1:ni]")
	test(func(){use(pai[ni:])}, "pai[ni:]")
	test(func(){use(pai[ni:ni])}, "pai[ni:ni]")
	test(func(){use(pai[ni32])}, "pai[ni32]")
	test(func(){use(pai[0:ni32])}, "pai[0:ni32]")
	test(func(){use(pai[1:ni32])}, "pai[1:ni32]")
	test(func(){use(pai[ni32:])}, "pai[ni32:]")
	test(func(){use(pai[ni32:ni32])}, "pai[ni32:ni32]")
	test(func(){use(pai[ni64])}, "pai[ni64]")
	test(func(){use(pai[0:ni64])}, "pai[0:ni64]")
	test(func(){use(pai[1:ni64])}, "pai[1:ni64]")
	test(func(){use(pai[ni64:])}, "pai[ni64:]")
	test(func(){use(pai[ni64:ni64])}, "pai[ni64:ni64]")
	test(func(){use(pai[ni64big])}, "pai[ni64big]")
	test(func(){use(pai[0:ni64big])}, "pai[0:ni64big]")
	test(func(){use(pai[1:ni64big])}, "pai[1:ni64big]")
	test(func(){use(pai[ni64big:])}, "pai[ni64big:]")
	test(func(){use(pai[ni64big:ni64big])}, "pai[ni64big:ni64big]")
	test(func(){use(pai[ni64bigger])}, "pai[ni64bigger]")
	test(func(){use(pai[0:ni64bigger])}, "pai[0:ni64bigger]")
	test(func(){use(pai[1:ni64bigger])}, "pai[1:ni64bigger]")
	test(func(){use(pai[ni64bigger:])}, "pai[ni64bigger:]")
	test(func(){use(pai[ni64bigger:ni64bigger])}, "pai[ni64bigger:ni64bigger]")
	test(func(){use(pai[nhuge])}, "pai[nhuge]")
	test(func(){use(pai[0:nhuge])}, "pai[0:nhuge]")
	test(func(){use(pai[1:nhuge])}, "pai[1:nhuge]")
	test(func(){use(pai[nhuge:])}, "pai[nhuge:]")
	test(func(){use(pai[nhuge:nhuge])}, "pai[nhuge:nhuge]")
	test(func(){use(paq[j])}, "paq[j]")
	test(func(){use(paq[0:j])}, "paq[0:j]")
	test(func(){use(paq[1:j])}, "paq[1:j]")
	test(func(){use(paq[j:])}, "paq[j:]")
	test(func(){use(paq[j:j])}, "paq[j:j]")
	test(func(){use(paq[i])}, "paq[i]")
	test(func(){use(paq[0:i])}, "paq[0:i]")
	test(func(){use(paq[1:i])}, "paq[1:i]")
	test(func(){use(paq[i:])}, "paq[i:]")
	test(func(){use(paq[i:i])}, "paq[i:i]")
	test(func(){use(paq[i32])}, "paq[i32]")
	test(func(){use(paq[0:i32])}, "paq[0:i32]")
	test(func(){use(paq[1:i32])}, "paq[1:i32]")
	test(func(){use(paq[i32:])}, "paq[i32:]")
	test(func(){use(paq[i32:i32])}, "paq[i32:i32]")
	test(func(){use(paq[i64])}, "paq[i64]")
	test(func(){use(paq[0:i64])}, "paq[0:i64]")
	test(func(){use(paq[1:i64])}, "paq[1:i64]")
	test(func(){use(paq[i64:])}, "paq[i64:]")
	test(func(){use(paq[i64:i64])}, "paq[i64:i64]")
	test(func(){use(paq[i64big])}, "paq[i64big]")
	test(func(){use(paq[0:i64big])}, "paq[0:i64big]")
	test(func(){use(paq[1:i64big])}, "paq[1:i64big]")
	test(func(){use(paq[i64big:])}, "paq[i64big:]")
	test(func(){use(paq[i64big:i64big])}, "paq[i64big:i64big]")
	test(func(){use(paq[i64bigger])}, "paq[i64bigger]")
	test(func(){use(paq[0:i64bigger])}, "paq[0:i64bigger]")
	test(func(){use(paq[1:i64bigger])}, "paq[1:i64bigger]")
	test(func(){use(paq[i64bigger:])}, "paq[i64bigger:]")
	test(func(){use(paq[i64bigger:i64bigger])}, "paq[i64bigger:i64bigger]")
	test(func(){use(paq[huge])}, "paq[huge]")
	test(func(){use(paq[0:huge])}, "paq[0:huge]")
	test(func(){use(paq[1:huge])}, "paq[1:huge]")
	test(func(){use(paq[huge:])}, "paq[huge:]")
	test(func(){use(paq[huge:huge])}, "paq[huge:huge]")
	test(func(){use(paq[nj])}, "paq[nj]")
	test(func(){use(paq[0:nj])}, "paq[0:nj]")
	test(func(){use(paq[1:nj])}, "paq[1:nj]")
	test(func(){use(paq[nj:])}, "paq[nj:]")
	test(func(){use(paq[nj:nj])}, "paq[nj:nj]")
	test(func(){use(paq[ni])}, "paq[ni]")
	test(func(){use(paq[0:ni])}, "paq[0:ni]")
	test(func(){use(paq[1:ni])}, "paq[1:ni]")
	test(func(){use(paq[ni:])}, "paq[ni:]")
	test(func(){use(paq[ni:ni])}, "paq[ni:ni]")
	test(func(){use(paq[ni32])}, "paq[ni32]")
	test(func(){use(paq[0:ni32])}, "paq[0:ni32]")
	test(func(){use(paq[1:ni32])}, "paq[1:ni32]")
	test(func(){use(paq[ni32:])}, "paq[ni32:]")
	test(func(){use(paq[ni32:ni32])}, "paq[ni32:ni32]")
	test(func(){use(paq[ni64])}, "paq[ni64]")
	test(func(){use(paq[0:ni64])}, "paq[0:ni64]")
	test(func(){use(paq[1:ni64])}, "paq[1:ni64]")
	test(func(){use(paq[ni64:])}, "paq[ni64:]")
	test(func(){use(paq[ni64:ni64])}, "paq[ni64:ni64]")
	test(func(){use(paq[ni64big])}, "paq[ni64big]")
	test(func(){use(paq[0:ni64big])}, "paq[0:ni64big]")
	test(func(){use(paq[1:ni64big])}, "paq[1:ni64big]")
	test(func(){use(paq[ni64big:])}, "paq[ni64big:]")
	test(func(){use(paq[ni64big:ni64big])}, "paq[ni64big:ni64big]")
	test(func(){use(paq[ni64bigger])}, "paq[ni64bigger]")
	test(func(){use(paq[0:ni64bigger])}, "paq[0:ni64bigger]")
	test(func(){use(paq[1:ni64bigger])}, "paq[1:ni64bigger]")
	test(func(){use(paq[ni64bigger:])}, "paq[ni64bigger:]")
	test(func(){use(paq[ni64bigger:ni64bigger])}, "paq[ni64bigger:ni64bigger]")
	test(func(){use(paq[nhuge])}, "paq[nhuge]")
	test(func(){use(paq[0:nhuge])}, "paq[0:nhuge]")
	test(func(){use(paq[1:nhuge])}, "paq[1:nhuge]")
	test(func(){use(paq[nhuge:])}, "paq[nhuge:]")
	test(func(){use(paq[nhuge:nhuge])}, "paq[nhuge:nhuge]")
	test(func(){use(si[j])}, "si[j]")
	test(func(){use(si[0:j])}, "si[0:j]")
	test(func(){use(si[1:j])}, "si[1:j]")
	test(func(){use(si[j:])}, "si[j:]")
	test(func(){use(si[j:j])}, "si[j:j]")
	test(func(){use(si[i])}, "si[i]")
	test(func(){use(si[0:i])}, "si[0:i]")
	test(func(){use(si[1:i])}, "si[1:i]")
	test(func(){use(si[i:])}, "si[i:]")
	test(func(){use(si[i:i])}, "si[i:i]")
	test(func(){use(si[i32])}, "si[i32]")
	test(func(){use(si[0:i32])}, "si[0:i32]")
	test(func(){use(si[1:i32])}, "si[1:i32]")
	test(func(){use(si[i32:])}, "si[i32:]")
	test(func(){use(si[i32:i32])}, "si[i32:i32]")
	test(func(){use(si[i64])}, "si[i64]")
	test(func(){use(si[0:i64])}, "si[0:i64]")
	test(func(){use(si[1:i64])}, "si[1:i64]")
	test(func(){use(si[i64:])}, "si[i64:]")
	test(func(){use(si[i64:i64])}, "si[i64:i64]")
	test(func(){use(si[i64big])}, "si[i64big]")
	test(func(){use(si[0:i64big])}, "si[0:i64big]")
	test(func(){use(si[1:i64big])}, "si[1:i64big]")
	test(func(){use(si[i64big:])}, "si[i64big:]")
	test(func(){use(si[i64big:i64big])}, "si[i64big:i64big]")
	test(func(){use(si[i64bigger])}, "si[i64bigger]")
	test(func(){use(si[0:i64bigger])}, "si[0:i64bigger]")
	test(func(){use(si[1:i64bigger])}, "si[1:i64bigger]")
	test(func(){use(si[i64bigger:])}, "si[i64bigger:]")
	test(func(){use(si[i64bigger:i64bigger])}, "si[i64bigger:i64bigger]")
	test(func(){use(si[huge])}, "si[huge]")
	test(func(){use(si[0:huge])}, "si[0:huge]")
	test(func(){use(si[1:huge])}, "si[1:huge]")
	test(func(){use(si[huge:])}, "si[huge:]")
	test(func(){use(si[huge:huge])}, "si[huge:huge]")
	test(func(){use(si[nj])}, "si[nj]")
	test(func(){use(si[0:nj])}, "si[0:nj]")
	test(func(){use(si[1:nj])}, "si[1:nj]")
	test(func(){use(si[nj:])}, "si[nj:]")
	test(func(){use(si[nj:nj])}, "si[nj:nj]")
	test(func(){use(si[ni])}, "si[ni]")
	test(func(){use(si[0:ni])}, "si[0:ni]")
	test(func(){use(si[1:ni])}, "si[1:ni]")
	test(func(){use(si[ni:])}, "si[ni:]")
	test(func(){use(si[ni:ni])}, "si[ni:ni]")
	test(func(){use(si[ni32])}, "si[ni32]")
	test(func(){use(si[0:ni32])}, "si[0:ni32]")
	test(func(){use(si[1:ni32])}, "si[1:ni32]")
	test(func(){use(si[ni32:])}, "si[ni32:]")
	test(func(){use(si[ni32:ni32])}, "si[ni32:ni32]")
	test(func(){use(si[ni64])}, "si[ni64]")
	test(func(){use(si[0:ni64])}, "si[0:ni64]")
	test(func(){use(si[1:ni64])}, "si[1:ni64]")
	test(func(){use(si[ni64:])}, "si[ni64:]")
	test(func(){use(si[ni64:ni64])}, "si[ni64:ni64]")
	test(func(){use(si[ni64big])}, "si[ni64big]")
	test(func(){use(si[0:ni64big])}, "si[0:ni64big]")
	test(func(){use(si[1:ni64big])}, "si[1:ni64big]")
	test(func(){use(si[ni64big:])}, "si[ni64big:]")
	test(func(){use(si[ni64big:ni64big])}, "si[ni64big:ni64big]")
	test(func(){use(si[ni64bigger])}, "si[ni64bigger]")
	test(func(){use(si[0:ni64bigger])}, "si[0:ni64bigger]")
	test(func(){use(si[1:ni64bigger])}, "si[1:ni64bigger]")
	test(func(){use(si[ni64bigger:])}, "si[ni64bigger:]")
	test(func(){use(si[ni64bigger:ni64bigger])}, "si[ni64bigger:ni64bigger]")
	test(func(){use(si[nhuge])}, "si[nhuge]")
	test(func(){use(si[0:nhuge])}, "si[0:nhuge]")
	test(func(){use(si[1:nhuge])}, "si[1:nhuge]")
	test(func(){use(si[nhuge:])}, "si[nhuge:]")
	test(func(){use(si[nhuge:nhuge])}, "si[nhuge:nhuge]")
	test(func(){use(si[cj])}, "si[cj]")
	test(func(){use(si[0:cj])}, "si[0:cj]")
	test(func(){use(si[1:cj])}, "si[1:cj]")
	test(func(){use(si[cj:])}, "si[cj:]")
	test(func(){use(si[cj:cj])}, "si[cj:cj]")
	test(func(){use(si[ci])}, "si[ci]")
	test(func(){use(si[0:ci])}, "si[0:ci]")
	test(func(){use(si[1:ci])}, "si[1:ci]")
	test(func(){use(si[ci:])}, "si[ci:]")
	test(func(){use(si[ci:ci])}, "si[ci:ci]")
	test(func(){use(si[ci32])}, "si[ci32]")
	test(func(){use(si[0:ci32])}, "si[0:ci32]")
	test(func(){use(si[1:ci32])}, "si[1:ci32]")
	test(func(){use(si[ci32:])}, "si[ci32:]")
	test(func(){use(si[ci32:ci32])}, "si[ci32:ci32]")
	test(func(){use(si[ci64])}, "si[ci64]")
	test(func(){use(si[0:ci64])}, "si[0:ci64]")
	test(func(){use(si[1:ci64])}, "si[1:ci64]")
	test(func(){use(si[ci64:])}, "si[ci64:]")
	test(func(){use(si[ci64:ci64])}, "si[ci64:ci64]")
	test(func(){use(sq[j])}, "sq[j]")
	test(func(){use(sq[0:j])}, "sq[0:j]")
	test(func(){use(sq[1:j])}, "sq[1:j]")
	test(func(){use(sq[j:])}, "sq[j:]")
	test(func(){use(sq[j:j])}, "sq[j:j]")
	test(func(){use(sq[i])}, "sq[i]")
	test(func(){use(sq[0:i])}, "sq[0:i]")
	test(func(){use(sq[1:i])}, "sq[1:i]")
	test(func(){use(sq[i:])}, "sq[i:]")
	test(func(){use(sq[i:i])}, "sq[i:i]")
	test(func(){use(sq[i32])}, "sq[i32]")
	test(func(){use(sq[0:i32])}, "sq[0:i32]")
	test(func(){use(sq[1:i32])}, "sq[1:i32]")
	test(func(){use(sq[i32:])}, "sq[i32:]")
	test(func(){use(sq[i32:i32])}, "sq[i32:i32]")
	test(func(){use(sq[i64])}, "sq[i64]")
	test(func(){use(sq[0:i64])}, "sq[0:i64]")
	test(func(){use(sq[1:i64])}, "sq[1:i64]")
	test(func(){use(sq[i64:])}, "sq[i64:]")
	test(func(){use(sq[i64:i64])}, "sq[i64:i64]")
	test(func(){use(sq[i64big])}, "sq[i64big]")
	test(func(){use(sq[0:i64big])}, "sq[0:i64big]")
	test(func(){use(sq[1:i64big])}, "sq[1:i64big]")
	test(func(){use(sq[i64big:])}, "sq[i64big:]")
	test(func(){use(sq[i64big:i64big])}, "sq[i64big:i64big]")
	test(func(){use(sq[i64bigger])}, "sq[i64bigger]")
	test(func(){use(sq[0:i64bigger])}, "sq[0:i64bigger]")
	test(func(){use(sq[1:i64bigger])}, "sq[1:i64bigger]")
	test(func(){use(sq[i64bigger:])}, "sq[i64bigger:]")
	test(func(){use(sq[i64bigger:i64bigger])}, "sq[i64bigger:i64bigger]")
	test(func(){use(sq[huge])}, "sq[huge]")
	test(func(){use(sq[0:huge])}, "sq[0:huge]")
	test(func(){use(sq[1:huge])}, "sq[1:huge]")
	test(func(){use(sq[huge:])}, "sq[huge:]")
	test(func(){use(sq[huge:huge])}, "sq[huge:huge]")
	test(func(){use(sq[nj])}, "sq[nj]")
	test(func(){use(sq[0:nj])}, "sq[0:nj]")
	test(func(){use(sq[1:nj])}, "sq[1:nj]")
	test(func(){use(sq[nj:])}, "sq[nj:]")
	test(func(){use(sq[nj:nj])}, "sq[nj:nj]")
	test(func(){use(sq[ni])}, "sq[ni]")
	test(func(){use(sq[0:ni])}, "sq[0:ni]")
	test(func(){use(sq[1:ni])}, "sq[1:ni]")
	test(func(){use(sq[ni:])}, "sq[ni:]")
	test(func(){use(sq[ni:ni])}, "sq[ni:ni]")
	test(func(){use(sq[ni32])}, "sq[ni32]")
	test(func(){use(sq[0:ni32])}, "sq[0:ni32]")
	test(func(){use(sq[1:ni32])}, "sq[1:ni32]")
	test(func(){use(sq[ni32:])}, "sq[ni32:]")
	test(func(){use(sq[ni32:ni32])}, "sq[ni32:ni32]")
	test(func(){use(sq[ni64])}, "sq[ni64]")
	test(func(){use(sq[0:ni64])}, "sq[0:ni64]")
	test(func(){use(sq[1:ni64])}, "sq[1:ni64]")
	test(func(){use(sq[ni64:])}, "sq[ni64:]")
	test(func(){use(sq[ni64:ni64])}, "sq[ni64:ni64]")
	test(func(){use(sq[ni64big])}, "sq[ni64big]")
	test(func(){use(sq[0:ni64big])}, "sq[0:ni64big]")
	test(func(){use(sq[1:ni64big])}, "sq[1:ni64big]")
	test(func(){use(sq[ni64big:])}, "sq[ni64big:]")
	test(func(){use(sq[ni64big:ni64big])}, "sq[ni64big:ni64big]")
	test(func(){use(sq[ni64bigger])}, "sq[ni64bigger]")
	test(func(){use(sq[0:ni64bigger])}, "sq[0:ni64bigger]")
	test(func(){use(sq[1:ni64bigger])}, "sq[1:ni64bigger]")
	test(func(){use(sq[ni64bigger:])}, "sq[ni64bigger:]")
	test(func(){use(sq[ni64bigger:ni64bigger])}, "sq[ni64bigger:ni64bigger]")
	test(func(){use(sq[nhuge])}, "sq[nhuge]")
	test(func(){use(sq[0:nhuge])}, "sq[0:nhuge]")
	test(func(){use(sq[1:nhuge])}, "sq[1:nhuge]")
	test(func(){use(sq[nhuge:])}, "sq[nhuge:]")
	test(func(){use(sq[nhuge:nhuge])}, "sq[nhuge:nhuge]")
	test(func(){use(sq[cj])}, "sq[cj]")
	test(func(){use(sq[0:cj])}, "sq[0:cj]")
	test(func(){use(sq[1:cj])}, "sq[1:cj]")
	test(func(){use(sq[cj:])}, "sq[cj:]")
	test(func(){use(sq[cj:cj])}, "sq[cj:cj]")
	test(func(){use(sq[ci])}, "sq[ci]")
	test(func(){use(sq[0:ci])}, "sq[0:ci]")
	test(func(){use(sq[1:ci])}, "sq[1:ci]")
	test(func(){use(sq[ci:])}, "sq[ci:]")
	test(func(){use(sq[ci:ci])}, "sq[ci:ci]")
	test(func(){use(sq[ci32])}, "sq[ci32]")
	test(func(){use(sq[0:ci32])}, "sq[0:ci32]")
	test(func(){use(sq[1:ci32])}, "sq[1:ci32]")
	test(func(){use(sq[ci32:])}, "sq[ci32:]")
	test(func(){use(sq[ci32:ci32])}, "sq[ci32:ci32]")
	test(func(){use(sq[ci64])}, "sq[ci64]")
	test(func(){use(sq[0:ci64])}, "sq[0:ci64]")
	test(func(){use(sq[1:ci64])}, "sq[1:ci64]")
	test(func(){use(sq[ci64:])}, "sq[ci64:]")
	test(func(){use(sq[ci64:ci64])}, "sq[ci64:ci64]")
	test(func(){use(t.ai[j])}, "t.ai[j]")
	test(func(){use(t.ai[0:j])}, "t.ai[0:j]")
	test(func(){use(t.ai[1:j])}, "t.ai[1:j]")
	test(func(){use(t.ai[j:])}, "t.ai[j:]")
	test(func(){use(t.ai[j:j])}, "t.ai[j:j]")
	test(func(){use(t.ai[i])}, "t.ai[i]")
	test(func(){use(t.ai[0:i])}, "t.ai[0:i]")
	test(func(){use(t.ai[1:i])}, "t.ai[1:i]")
	test(func(){use(t.ai[i:])}, "t.ai[i:]")
	test(func(){use(t.ai[i:i])}, "t.ai[i:i]")
	test(func(){use(t.ai[i32])}, "t.ai[i32]")
	test(func(){use(t.ai[0:i32])}, "t.ai[0:i32]")
	test(func(){use(t.ai[1:i32])}, "t.ai[1:i32]")
	test(func(){use(t.ai[i32:])}, "t.ai[i32:]")
	test(func(){use(t.ai[i32:i32])}, "t.ai[i32:i32]")
	test(func(){use(t.ai[i64])}, "t.ai[i64]")
	test(func(){use(t.ai[0:i64])}, "t.ai[0:i64]")
	test(func(){use(t.ai[1:i64])}, "t.ai[1:i64]")
	test(func(){use(t.ai[i64:])}, "t.ai[i64:]")
	test(func(){use(t.ai[i64:i64])}, "t.ai[i64:i64]")
	test(func(){use(t.ai[i64big])}, "t.ai[i64big]")
	test(func(){use(t.ai[0:i64big])}, "t.ai[0:i64big]")
	test(func(){use(t.ai[1:i64big])}, "t.ai[1:i64big]")
	test(func(){use(t.ai[i64big:])}, "t.ai[i64big:]")
	test(func(){use(t.ai[i64big:i64big])}, "t.ai[i64big:i64big]")
	test(func(){use(t.ai[i64bigger])}, "t.ai[i64bigger]")
	test(func(){use(t.ai[0:i64bigger])}, "t.ai[0:i64bigger]")
	test(func(){use(t.ai[1:i64bigger])}, "t.ai[1:i64bigger]")
	test(func(){use(t.ai[i64bigger:])}, "t.ai[i64bigger:]")
	test(func(){use(t.ai[i64bigger:i64bigger])}, "t.ai[i64bigger:i64bigger]")
	test(func(){use(t.ai[huge])}, "t.ai[huge]")
	test(func(){use(t.ai[0:huge])}, "t.ai[0:huge]")
	test(func(){use(t.ai[1:huge])}, "t.ai[1:huge]")
	test(func(){use(t.ai[huge:])}, "t.ai[huge:]")
	test(func(){use(t.ai[huge:huge])}, "t.ai[huge:huge]")
	test(func(){use(t.ai[nj])}, "t.ai[nj]")
	test(func(){use(t.ai[0:nj])}, "t.ai[0:nj]")
	test(func(){use(t.ai[1:nj])}, "t.ai[1:nj]")
	test(func(){use(t.ai[nj:])}, "t.ai[nj:]")
	test(func(){use(t.ai[nj:nj])}, "t.ai[nj:nj]")
	test(func(){use(t.ai[ni])}, "t.ai[ni]")
	test(func(){use(t.ai[0:ni])}, "t.ai[0:ni]")
	test(func(){use(t.ai[1:ni])}, "t.ai[1:ni]")
	test(func(){use(t.ai[ni:])}, "t.ai[ni:]")
	test(func(){use(t.ai[ni:ni])}, "t.ai[ni:ni]")
	test(func(){use(t.ai[ni32])}, "t.ai[ni32]")
	test(func(){use(t.ai[0:ni32])}, "t.ai[0:ni32]")
	test(func(){use(t.ai[1:ni32])}, "t.ai[1:ni32]")
	test(func(){use(t.ai[ni32:])}, "t.ai[ni32:]")
	test(func(){use(t.ai[ni32:ni32])}, "t.ai[ni32:ni32]")
	test(func(){use(t.ai[ni64])}, "t.ai[ni64]")
	test(func(){use(t.ai[0:ni64])}, "t.ai[0:ni64]")
	test(func(){use(t.ai[1:ni64])}, "t.ai[1:ni64]")
	test(func(){use(t.ai[ni64:])}, "t.ai[ni64:]")
	test(func(){use(t.ai[ni64:ni64])}, "t.ai[ni64:ni64]")
	test(func(){use(t.ai[ni64big])}, "t.ai[ni64big]")
	test(func(){use(t.ai[0:ni64big])}, "t.ai[0:ni64big]")
	test(func(){use(t.ai[1:ni64big])}, "t.ai[1:ni64big]")
	test(func(){use(t.ai[ni64big:])}, "t.ai[ni64big:]")
	test(func(){use(t.ai[ni64big:ni64big])}, "t.ai[ni64big:ni64big]")
	test(func(){use(t.ai[ni64bigger])}, "t.ai[ni64bigger]")
	test(func(){use(t.ai[0:ni64bigger])}, "t.ai[0:ni64bigger]")
	test(func(){use(t.ai[1:ni64bigger])}, "t.ai[1:ni64bigger]")
	test(func(){use(t.ai[ni64bigger:])}, "t.ai[ni64bigger:]")
	test(func(){use(t.ai[ni64bigger:ni64bigger])}, "t.ai[ni64bigger:ni64bigger]")
	test(func(){use(t.ai[nhuge])}, "t.ai[nhuge]")
	test(func(){use(t.ai[0:nhuge])}, "t.ai[0:nhuge]")
	test(func(){use(t.ai[1:nhuge])}, "t.ai[1:nhuge]")
	test(func(){use(t.ai[nhuge:])}, "t.ai[nhuge:]")
	test(func(){use(t.ai[nhuge:nhuge])}, "t.ai[nhuge:nhuge]")
	test(func(){use(t.aq[j])}, "t.aq[j]")
	test(func(){use(t.aq[0:j])}, "t.aq[0:j]")
	test(func(){use(t.aq[1:j])}, "t.aq[1:j]")
	test(func(){use(t.aq[j:])}, "t.aq[j:]")
	test(func(){use(t.aq[j:j])}, "t.aq[j:j]")
	test(func(){use(t.aq[i])}, "t.aq[i]")
	test(func(){use(t.aq[0:i])}, "t.aq[0:i]")
	test(func(){use(t.aq[1:i])}, "t.aq[1:i]")
	test(func(){use(t.aq[i:])}, "t.aq[i:]")
	test(func(){use(t.aq[i:i])}, "t.aq[i:i]")
	test(func(){use(t.aq[i32])}, "t.aq[i32]")
	test(func(){use(t.aq[0:i32])}, "t.aq[0:i32]")
	test(func(){use(t.aq[1:i32])}, "t.aq[1:i32]")
	test(func(){use(t.aq[i32:])}, "t.aq[i32:]")
	test(func(){use(t.aq[i32:i32])}, "t.aq[i32:i32]")
	test(func(){use(t.aq[i64])}, "t.aq[i64]")
	test(func(){use(t.aq[0:i64])}, "t.aq[0:i64]")
	test(func(){use(t.aq[1:i64])}, "t.aq[1:i64]")
	test(func(){use(t.aq[i64:])}, "t.aq[i64:]")
	test(func(){use(t.aq[i64:i64])}, "t.aq[i64:i64]")
	test(func(){use(t.aq[i64big])}, "t.aq[i64big]")
	test(func(){use(t.aq[0:i64big])}, "t.aq[0:i64big]")
	test(func(){use(t.aq[1:i64big])}, "t.aq[1:i64big]")
	test(func(){use(t.aq[i64big:])}, "t.aq[i64big:]")
	test(func(){use(t.aq[i64big:i64big])}, "t.aq[i64big:i64big]")
	test(func(){use(t.aq[i64bigger])}, "t.aq[i64bigger]")
	test(func(){use(t.aq[0:i64bigger])}, "t.aq[0:i64bigger]")
	test(func(){use(t.aq[1:i64bigger])}, "t.aq[1:i64bigger]")
	test(func(){use(t.aq[i64bigger:])}, "t.aq[i64bigger:]")
	test(func(){use(t.aq[i64bigger:i64bigger])}, "t.aq[i64bigger:i64bigger]")
	test(func(){use(t.aq[huge])}, "t.aq[huge]")
	test(func(){use(t.aq[0:huge])}, "t.aq[0:huge]")
	test(func(){use(t.aq[1:huge])}, "t.aq[1:huge]")
	test(func(){use(t.aq[huge:])}, "t.aq[huge:]")
	test(func(){use(t.aq[huge:huge])}, "t.aq[huge:huge]")
	test(func(){use(t.aq[nj])}, "t.aq[nj]")
	test(func(){use(t.aq[0:nj])}, "t.aq[0:nj]")
	test(func(){use(t.aq[1:nj])}, "t.aq[1:nj]")
	test(func(){use(t.aq[nj:])}, "t.aq[nj:]")
	test(func(){use(t.aq[nj:nj])}, "t.aq[nj:nj]")
	test(func(){use(t.aq[ni])}, "t.aq[ni]")
	test(func(){use(t.aq[0:ni])}, "t.aq[0:ni]")
	test(func(){use(t.aq[1:ni])}, "t.aq[1:ni]")
	test(func(){use(t.aq[ni:])}, "t.aq[ni:]")
	test(func(){use(t.aq[ni:ni])}, "t.aq[ni:ni]")
	test(func(){use(t.aq[ni32])}, "t.aq[ni32]")
	test(func(){use(t.aq[0:ni32])}, "t.aq[0:ni32]")
	test(func(){use(t.aq[1:ni32])}, "t.aq[1:ni32]")
	test(func(){use(t.aq[ni32:])}, "t.aq[ni32:]")
	test(func(){use(t.aq[ni32:ni32])}, "t.aq[ni32:ni32]")
	test(func(){use(t.aq[ni64])}, "t.aq[ni64]")
	test(func(){use(t.aq[0:ni64])}, "t.aq[0:ni64]")
	test(func(){use(t.aq[1:ni64])}, "t.aq[1:ni64]")
	test(func(){use(t.aq[ni64:])}, "t.aq[ni64:]")
	test(func(){use(t.aq[ni64:ni64])}, "t.aq[ni64:ni64]")
	test(func(){use(t.aq[ni64big])}, "t.aq[ni64big]")
	test(func(){use(t.aq[0:ni64big])}, "t.aq[0:ni64big]")
	test(func(){use(t.aq[1:ni64big])}, "t.aq[1:ni64big]")
	test(func(){use(t.aq[ni64big:])}, "t.aq[ni64big:]")
	test(func(){use(t.aq[ni64big:ni64big])}, "t.aq[ni64big:ni64big]")
	test(func(){use(t.aq[ni64bigger])}, "t.aq[ni64bigger]")
	test(func(){use(t.aq[0:ni64bigger])}, "t.aq[0:ni64bigger]")
	test(func(){use(t.aq[1:ni64bigger])}, "t.aq[1:ni64bigger]")
	test(func(){use(t.aq[ni64bigger:])}, "t.aq[ni64bigger:]")
	test(func(){use(t.aq[ni64bigger:ni64bigger])}, "t.aq[ni64bigger:ni64bigger]")
	test(func(){use(t.aq[nhuge])}, "t.aq[nhuge]")
	test(func(){use(t.aq[0:nhuge])}, "t.aq[0:nhuge]")
	test(func(){use(t.aq[1:nhuge])}, "t.aq[1:nhuge]")
	test(func(){use(t.aq[nhuge:])}, "t.aq[nhuge:]")
	test(func(){use(t.aq[nhuge:nhuge])}, "t.aq[nhuge:nhuge]")
	test(func(){use(t.pai[j])}, "t.pai[j]")
	test(func(){use(t.pai[0:j])}, "t.pai[0:j]")
	test(func(){use(t.pai[1:j])}, "t.pai[1:j]")
	test(func(){use(t.pai[j:])}, "t.pai[j:]")
	test(func(){use(t.pai[j:j])}, "t.pai[j:j]")
	test(func(){use(t.pai[i])}, "t.pai[i]")
	test(func(){use(t.pai[0:i])}, "t.pai[0:i]")
	test(func(){use(t.pai[1:i])}, "t.pai[1:i]")
	test(func(){use(t.pai[i:])}, "t.pai[i:]")
	test(func(){use(t.pai[i:i])}, "t.pai[i:i]")
	test(func(){use(t.pai[i32])}, "t.pai[i32]")
	test(func(){use(t.pai[0:i32])}, "t.pai[0:i32]")
	test(func(){use(t.pai[1:i32])}, "t.pai[1:i32]")
	test(func(){use(t.pai[i32:])}, "t.pai[i32:]")
	test(func(){use(t.pai[i32:i32])}, "t.pai[i32:i32]")
	test(func(){use(t.pai[i64])}, "t.pai[i64]")
	test(func(){use(t.pai[0:i64])}, "t.pai[0:i64]")
	test(func(){use(t.pai[1:i64])}, "t.pai[1:i64]")
	test(func(){use(t.pai[i64:])}, "t.pai[i64:]")
	test(func(){use(t.pai[i64:i64])}, "t.pai[i64:i64]")
	test(func(){use(t.pai[i64big])}, "t.pai[i64big]")
	test(func(){use(t.pai[0:i64big])}, "t.pai[0:i64big]")
	test(func(){use(t.pai[1:i64big])}, "t.pai[1:i64big]")
	test(func(){use(t.pai[i64big:])}, "t.pai[i64big:]")
	test(func(){use(t.pai[i64big:i64big])}, "t.pai[i64big:i64big]")
	test(func(){use(t.pai[i64bigger])}, "t.pai[i64bigger]")
	test(func(){use(t.pai[0:i64bigger])}, "t.pai[0:i64bigger]")
	test(func(){use(t.pai[1:i64bigger])}, "t.pai[1:i64bigger]")
	test(func(){use(t.pai[i64bigger:])}, "t.pai[i64bigger:]")
	test(func(){use(t.pai[i64bigger:i64bigger])}, "t.pai[i64bigger:i64bigger]")
	test(func(){use(t.pai[huge])}, "t.pai[huge]")
	test(func(){use(t.pai[0:huge])}, "t.pai[0:huge]")
	test(func(){use(t.pai[1:huge])}, "t.pai[1:huge]")
	test(func(){use(t.pai[huge:])}, "t.pai[huge:]")
	test(func(){use(t.pai[huge:huge])}, "t.pai[huge:huge]")
	test(func(){use(t.pai[nj])}, "t.pai[nj]")
	test(func(){use(t.pai[0:nj])}, "t.pai[0:nj]")
	test(func(){use(t.pai[1:nj])}, "t.pai[1:nj]")
	test(func(){use(t.pai[nj:])}, "t.pai[nj:]")
	test(func(){use(t.pai[nj:nj])}, "t.pai[nj:nj]")
	test(func(){use(t.pai[ni])}, "t.pai[ni]")
	test(func(){use(t.pai[0:ni])}, "t.pai[0:ni]")
	test(func(){use(t.pai[1:ni])}, "t.pai[1:ni]")
	test(func(){use(t.pai[ni:])}, "t.pai[ni:]")
	test(func(){use(t.pai[ni:ni])}, "t.pai[ni:ni]")
	test(func(){use(t.pai[ni32])}, "t.pai[ni32]")
	test(func(){use(t.pai[0:ni32])}, "t.pai[0:ni32]")
	test(func(){use(t.pai[1:ni32])}, "t.pai[1:ni32]")
	test(func(){use(t.pai[ni32:])}, "t.pai[ni32:]")
	test(func(){use(t.pai[ni32:ni32])}, "t.pai[ni32:ni32]")
	test(func(){use(t.pai[ni64])}, "t.pai[ni64]")
	test(func(){use(t.pai[0:ni64])}, "t.pai[0:ni64]")
	test(func(){use(t.pai[1:ni64])}, "t.pai[1:ni64]")
	test(func(){use(t.pai[ni64:])}, "t.pai[ni64:]")
	test(func(){use(t.pai[ni64:ni64])}, "t.pai[ni64:ni64]")
	test(func(){use(t.pai[ni64big])}, "t.pai[ni64big]")
	test(func(){use(t.pai[0:ni64big])}, "t.pai[0:ni64big]")
	test(func(){use(t.pai[1:ni64big])}, "t.pai[1:ni64big]")
	test(func(){use(t.pai[ni64big:])}, "t.pai[ni64big:]")
	test(func(){use(t.pai[ni64big:ni64big])}, "t.pai[ni64big:ni64big]")
	test(func(){use(t.pai[ni64bigger])}, "t.pai[ni64bigger]")
	test(func(){use(t.pai[0:ni64bigger])}, "t.pai[0:ni64bigger]")
	test(func(){use(t.pai[1:ni64bigger])}, "t.pai[1:ni64bigger]")
	test(func(){use(t.pai[ni64bigger:])}, "t.pai[ni64bigger:]")
	test(func(){use(t.pai[ni64bigger:ni64bigger])}, "t.pai[ni64bigger:ni64bigger]")
	test(func(){use(t.pai[nhuge])}, "t.pai[nhuge]")
	test(func(){use(t.pai[0:nhuge])}, "t.pai[0:nhuge]")
	test(func(){use(t.pai[1:nhuge])}, "t.pai[1:nhuge]")
	test(func(){use(t.pai[nhuge:])}, "t.pai[nhuge:]")
	test(func(){use(t.pai[nhuge:nhuge])}, "t.pai[nhuge:nhuge]")
	test(func(){use(t.paq[j])}, "t.paq[j]")
	test(func(){use(t.paq[0:j])}, "t.paq[0:j]")
	test(func(){use(t.paq[1:j])}, "t.paq[1:j]")
	test(func(){use(t.paq[j:])}, "t.paq[j:]")
	test(func(){use(t.paq[j:j])}, "t.paq[j:j]")
	test(func(){use(t.paq[i])}, "t.paq[i]")
	test(func(){use(t.paq[0:i])}, "t.paq[0:i]")
	test(func(){use(t.paq[1:i])}, "t.paq[1:i]")
	test(func(){use(t.paq[i:])}, "t.paq[i:]")
	test(func(){use(t.paq[i:i])}, "t.paq[i:i]")
	test(func(){use(t.paq[i32])}, "t.paq[i32]")
	test(func(){use(t.paq[0:i32])}, "t.paq[0:i32]")
	test(func(){use(t.paq[1:i32])}, "t.paq[1:i32]")
	test(func(){use(t.paq[i32:])}, "t.paq[i32:]")
	test(func(){use(t.paq[i32:i32])}, "t.paq[i32:i32]")
	test(func(){use(t.paq[i64])}, "t.paq[i64]")
	test(func(){use(t.paq[0:i64])}, "t.paq[0:i64]")
	test(func(){use(t.paq[1:i64])}, "t.paq[1:i64]")
	test(func(){use(t.paq[i64:])}, "t.paq[i64:]")
	test(func(){use(t.paq[i64:i64])}, "t.paq[i64:i64]")
	test(func(){use(t.paq[i64big])}, "t.paq[i64big]")
	test(func(){use(t.paq[0:i64big])}, "t.paq[0:i64big]")
	test(func(){use(t.paq[1:i64big])}, "t.paq[1:i64big]")
	test(func(){use(t.paq[i64big:])}, "t.paq[i64big:]")
	test(func(){use(t.paq[i64big:i64big])}, "t.paq[i64big:i64big]")
	test(func(){use(t.paq[i64bigger])}, "t.paq[i64bigger]")
	test(func(){use(t.paq[0:i64bigger])}, "t.paq[0:i64bigger]")
	test(func(){use(t.paq[1:i64bigger])}, "t.paq[1:i64bigger]")
	test(func(){use(t.paq[i64bigger:])}, "t.paq[i64bigger:]")
	test(func(){use(t.paq[i64bigger:i64bigger])}, "t.paq[i64bigger:i64bigger]")
	test(func(){use(t.paq[huge])}, "t.paq[huge]")
	test(func(){use(t.paq[0:huge])}, "t.paq[0:huge]")
	test(func(){use(t.paq[1:huge])}, "t.paq[1:huge]")
	test(func(){use(t.paq[huge:])}, "t.paq[huge:]")
	test(func(){use(t.paq[huge:huge])}, "t.paq[huge:huge]")
	test(func(){use(t.paq[nj])}, "t.paq[nj]")
	test(func(){use(t.paq[0:nj])}, "t.paq[0:nj]")
	test(func(){use(t.paq[1:nj])}, "t.paq[1:nj]")
	test(func(){use(t.paq[nj:])}, "t.paq[nj:]")
	test(func(){use(t.paq[nj:nj])}, "t.paq[nj:nj]")
	test(func(){use(t.paq[ni])}, "t.paq[ni]")
	test(func(){use(t.paq[0:ni])}, "t.paq[0:ni]")
	test(func(){use(t.paq[1:ni])}, "t.paq[1:ni]")
	test(func(){use(t.paq[ni:])}, "t.paq[ni:]")
	test(func(){use(t.paq[ni:ni])}, "t.paq[ni:ni]")
	test(func(){use(t.paq[ni32])}, "t.paq[ni32]")
	test(func(){use(t.paq[0:ni32])}, "t.paq[0:ni32]")
	test(func(){use(t.paq[1:ni32])}, "t.paq[1:ni32]")
	test(func(){use(t.paq[ni32:])}, "t.paq[ni32:]")
	test(func(){use(t.paq[ni32:ni32])}, "t.paq[ni32:ni32]")
	test(func(){use(t.paq[ni64])}, "t.paq[ni64]")
	test(func(){use(t.paq[0:ni64])}, "t.paq[0:ni64]")
	test(func(){use(t.paq[1:ni64])}, "t.paq[1:ni64]")
	test(func(){use(t.paq[ni64:])}, "t.paq[ni64:]")
	test(func(){use(t.paq[ni64:ni64])}, "t.paq[ni64:ni64]")
	test(func(){use(t.paq[ni64big])}, "t.paq[ni64big]")
	test(func(){use(t.paq[0:ni64big])}, "t.paq[0:ni64big]")
	test(func(){use(t.paq[1:ni64big])}, "t.paq[1:ni64big]")
	test(func(){use(t.paq[ni64big:])}, "t.paq[ni64big:]")
	test(func(){use(t.paq[ni64big:ni64big])}, "t.paq[ni64big:ni64big]")
	test(func(){use(t.paq[ni64bigger])}, "t.paq[ni64bigger]")
	test(func(){use(t.paq[0:ni64bigger])}, "t.paq[0:ni64bigger]")
	test(func(){use(t.paq[1:ni64bigger])}, "t.paq[1:ni64bigger]")
	test(func(){use(t.paq[ni64bigger:])}, "t.paq[ni64bigger:]")
	test(func(){use(t.paq[ni64bigger:ni64bigger])}, "t.paq[ni64bigger:ni64bigger]")
	test(func(){use(t.paq[nhuge])}, "t.paq[nhuge]")
	test(func(){use(t.paq[0:nhuge])}, "t.paq[0:nhuge]")
	test(func(){use(t.paq[1:nhuge])}, "t.paq[1:nhuge]")
	test(func(){use(t.paq[nhuge:])}, "t.paq[nhuge:]")
	test(func(){use(t.paq[nhuge:nhuge])}, "t.paq[nhuge:nhuge]")
	test(func(){use(t.si[j])}, "t.si[j]")
	test(func(){use(t.si[0:j])}, "t.si[0:j]")
	test(func(){use(t.si[1:j])}, "t.si[1:j]")
	test(func(){use(t.si[j:])}, "t.si[j:]")
	test(func(){use(t.si[j:j])}, "t.si[j:j]")
	test(func(){use(t.si[i])}, "t.si[i]")
	test(func(){use(t.si[0:i])}, "t.si[0:i]")
	test(func(){use(t.si[1:i])}, "t.si[1:i]")
	test(func(){use(t.si[i:])}, "t.si[i:]")
	test(func(){use(t.si[i:i])}, "t.si[i:i]")
	test(func(){use(t.si[i32])}, "t.si[i32]")
	test(func(){use(t.si[0:i32])}, "t.si[0:i32]")
	test(func(){use(t.si[1:i32])}, "t.si[1:i32]")
	test(func(){use(t.si[i32:])}, "t.si[i32:]")
	test(func(){use(t.si[i32:i32])}, "t.si[i32:i32]")
	test(func(){use(t.si[i64])}, "t.si[i64]")
	test(func(){use(t.si[0:i64])}, "t.si[0:i64]")
	test(func(){use(t.si[1:i64])}, "t.si[1:i64]")
	test(func(){use(t.si[i64:])}, "t.si[i64:]")
	test(func(){use(t.si[i64:i64])}, "t.si[i64:i64]")
	test(func(){use(t.si[i64big])}, "t.si[i64big]")
	test(func(){use(t.si[0:i64big])}, "t.si[0:i64big]")
	test(func(){use(t.si[1:i64big])}, "t.si[1:i64big]")
	test(func(){use(t.si[i64big:])}, "t.si[i64big:]")
	test(func(){use(t.si[i64big:i64big])}, "t.si[i64big:i64big]")
	test(func(){use(t.si[i64bigger])}, "t.si[i64bigger]")
	test(func(){use(t.si[0:i64bigger])}, "t.si[0:i64bigger]")
	test(func(){use(t.si[1:i64bigger])}, "t.si[1:i64bigger]")
	test(func(){use(t.si[i64bigger:])}, "t.si[i64bigger:]")
	test(func(){use(t.si[i64bigger:i64bigger])}, "t.si[i64bigger:i64bigger]")
	test(func(){use(t.si[huge])}, "t.si[huge]")
	test(func(){use(t.si[0:huge])}, "t.si[0:huge]")
	test(func(){use(t.si[1:huge])}, "t.si[1:huge]")
	test(func(){use(t.si[huge:])}, "t.si[huge:]")
	test(func(){use(t.si[huge:huge])}, "t.si[huge:huge]")
	test(func(){use(t.si[nj])}, "t.si[nj]")
	test(func(){use(t.si[0:nj])}, "t.si[0:nj]")
	test(func(){use(t.si[1:nj])}, "t.si[1:nj]")
	test(func(){use(t.si[nj:])}, "t.si[nj:]")
	test(func(){use(t.si[nj:nj])}, "t.si[nj:nj]")
	test(func(){use(t.si[ni])}, "t.si[ni]")
	test(func(){use(t.si[0:ni])}, "t.si[0:ni]")
	test(func(){use(t.si[1:ni])}, "t.si[1:ni]")
	test(func(){use(t.si[ni:])}, "t.si[ni:]")
	test(func(){use(t.si[ni:ni])}, "t.si[ni:ni]")
	test(func(){use(t.si[ni32])}, "t.si[ni32]")
	test(func(){use(t.si[0:ni32])}, "t.si[0:ni32]")
	test(func(){use(t.si[1:ni32])}, "t.si[1:ni32]")
	test(func(){use(t.si[ni32:])}, "t.si[ni32:]")
	test(func(){use(t.si[ni32:ni32])}, "t.si[ni32:ni32]")
	test(func(){use(t.si[ni64])}, "t.si[ni64]")
	test(func(){use(t.si[0:ni64])}, "t.si[0:ni64]")
	test(func(){use(t.si[1:ni64])}, "t.si[1:ni64]")
	test(func(){use(t.si[ni64:])}, "t.si[ni64:]")
	test(func(){use(t.si[ni64:ni64])}, "t.si[ni64:ni64]")
	test(func(){use(t.si[ni64big])}, "t.si[ni64big]")
	test(func(){use(t.si[0:ni64big])}, "t.si[0:ni64big]")
	test(func(){use(t.si[1:ni64big])}, "t.si[1:ni64big]")
	test(func(){use(t.si[ni64big:])}, "t.si[ni64big:]")
	test(func(){use(t.si[ni64big:ni64big])}, "t.si[ni64big:ni64big]")
	test(func(){use(t.si[ni64bigger])}, "t.si[ni64bigger]")
	test(func(){use(t.si[0:ni64bigger])}, "t.si[0:ni64bigger]")
	test(func(){use(t.si[1:ni64bigger])}, "t.si[1:ni64bigger]")
	test(func(){use(t.si[ni64bigger:])}, "t.si[ni64bigger:]")
	test(func(){use(t.si[ni64bigger:ni64bigger])}, "t.si[ni64bigger:ni64bigger]")
	test(func(){use(t.si[nhuge])}, "t.si[nhuge]")
	test(func(){use(t.si[0:nhuge])}, "t.si[0:nhuge]")
	test(func(){use(t.si[1:nhuge])}, "t.si[1:nhuge]")
	test(func(){use(t.si[nhuge:])}, "t.si[nhuge:]")
	test(func(){use(t.si[nhuge:nhuge])}, "t.si[nhuge:nhuge]")
	test(func(){use(t.si[cj])}, "t.si[cj]")
	test(func(){use(t.si[0:cj])}, "t.si[0:cj]")
	test(func(){use(t.si[1:cj])}, "t.si[1:cj]")
	test(func(){use(t.si[cj:])}, "t.si[cj:]")
	test(func(){use(t.si[cj:cj])}, "t.si[cj:cj]")
	test(func(){use(t.si[ci])}, "t.si[ci]")
	test(func(){use(t.si[0:ci])}, "t.si[0:ci]")
	test(func(){use(t.si[1:ci])}, "t.si[1:ci]")
	test(func(){use(t.si[ci:])}, "t.si[ci:]")
	test(func(){use(t.si[ci:ci])}, "t.si[ci:ci]")
	test(func(){use(t.si[ci32])}, "t.si[ci32]")
	test(func(){use(t.si[0:ci32])}, "t.si[0:ci32]")
	test(func(){use(t.si[1:ci32])}, "t.si[1:ci32]")
	test(func(){use(t.si[ci32:])}, "t.si[ci32:]")
	test(func(){use(t.si[ci32:ci32])}, "t.si[ci32:ci32]")
	test(func(){use(t.si[ci64])}, "t.si[ci64]")
	test(func(){use(t.si[0:ci64])}, "t.si[0:ci64]")
	test(func(){use(t.si[1:ci64])}, "t.si[1:ci64]")
	test(func(){use(t.si[ci64:])}, "t.si[ci64:]")
	test(func(){use(t.si[ci64:ci64])}, "t.si[ci64:ci64]")
	test(func(){use(t.sq[j])}, "t.sq[j]")
	test(func(){use(t.sq[0:j])}, "t.sq[0:j]")
	test(func(){use(t.sq[1:j])}, "t.sq[1:j]")
	test(func(){use(t.sq[j:])}, "t.sq[j:]")
	test(func(){use(t.sq[j:j])}, "t.sq[j:j]")
	test(func(){use(t.sq[i])}, "t.sq[i]")
	test(func(){use(t.sq[0:i])}, "t.sq[0:i]")
	test(func(){use(t.sq[1:i])}, "t.sq[1:i]")
	test(func(){use(t.sq[i:])}, "t.sq[i:]")
	test(func(){use(t.sq[i:i])}, "t.sq[i:i]")
	test(func(){use(t.sq[i32])}, "t.sq[i32]")
	test(func(){use(t.sq[0:i32])}, "t.sq[0:i32]")
	test(func(){use(t.sq[1:i32])}, "t.sq[1:i32]")
	test(func(){use(t.sq[i32:])}, "t.sq[i32:]")
	test(func(){use(t.sq[i32:i32])}, "t.sq[i32:i32]")
	test(func(){use(t.sq[i64])}, "t.sq[i64]")
	test(func(){use(t.sq[0:i64])}, "t.sq[0:i64]")
	test(func(){use(t.sq[1:i64])}, "t.sq[1:i64]")
	test(func(){use(t.sq[i64:])}, "t.sq[i64:]")
	test(func(){use(t.sq[i64:i64])}, "t.sq[i64:i64]")
	test(func(){use(t.sq[i64big])}, "t.sq[i64big]")
	test(func(){use(t.sq[0:i64big])}, "t.sq[0:i64big]")
	test(func(){use(t.sq[1:i64big])}, "t.sq[1:i64big]")
	test(func(){use(t.sq[i64big:])}, "t.sq[i64big:]")
	test(func(){use(t.sq[i64big:i64big])}, "t.sq[i64big:i64big]")
	test(func(){use(t.sq[i64bigger])}, "t.sq[i64bigger]")
	test(func(){use(t.sq[0:i64bigger])}, "t.sq[0:i64bigger]")
	test(func(){use(t.sq[1:i64bigger])}, "t.sq[1:i64bigger]")
	test(func(){use(t.sq[i64bigger:])}, "t.sq[i64bigger:]")
	test(func(){use(t.sq[i64bigger:i64bigger])}, "t.sq[i64bigger:i64bigger]")
	test(func(){use(t.sq[huge])}, "t.sq[huge]")
	test(func(){use(t.sq[0:huge])}, "t.sq[0:huge]")
	test(func(){use(t.sq[1:huge])}, "t.sq[1:huge]")
	test(func(){use(t.sq[huge:])}, "t.sq[huge:]")
	test(func(){use(t.sq[huge:huge])}, "t.sq[huge:huge]")
	test(func(){use(t.sq[nj])}, "t.sq[nj]")
	test(func(){use(t.sq[0:nj])}, "t.sq[0:nj]")
	test(func(){use(t.sq[1:nj])}, "t.sq[1:nj]")
	test(func(){use(t.sq[nj:])}, "t.sq[nj:]")
	test(func(){use(t.sq[nj:nj])}, "t.sq[nj:nj]")
	test(func(){use(t.sq[ni])}, "t.sq[ni]")
	test(func(){use(t.sq[0:ni])}, "t.sq[0:ni]")
	test(func(){use(t.sq[1:ni])}, "t.sq[1:ni]")
	test(func(){use(t.sq[ni:])}, "t.sq[ni:]")
	test(func(){use(t.sq[ni:ni])}, "t.sq[ni:ni]")
	test(func(){use(t.sq[ni32])}, "t.sq[ni32]")
	test(func(){use(t.sq[0:ni32])}, "t.sq[0:ni32]")
	test(func(){use(t.sq[1:ni32])}, "t.sq[1:ni32]")
	test(func(){use(t.sq[ni32:])}, "t.sq[ni32:]")
	test(func(){use(t.sq[ni32:ni32])}, "t.sq[ni32:ni32]")
	test(func(){use(t.sq[ni64])}, "t.sq[ni64]")
	test(func(){use(t.sq[0:ni64])}, "t.sq[0:ni64]")
	test(func(){use(t.sq[1:ni64])}, "t.sq[1:ni64]")
	test(func(){use(t.sq[ni64:])}, "t.sq[ni64:]")
	test(func(){use(t.sq[ni64:ni64])}, "t.sq[ni64:ni64]")
	test(func(){use(t.sq[ni64big])}, "t.sq[ni64big]")
	test(func(){use(t.sq[0:ni64big])}, "t.sq[0:ni64big]")
	test(func(){use(t.sq[1:ni64big])}, "t.sq[1:ni64big]")
	test(func(){use(t.sq[ni64big:])}, "t.sq[ni64big:]")
	test(func(){use(t.sq[ni64big:ni64big])}, "t.sq[ni64big:ni64big]")
	test(func(){use(t.sq[ni64bigger])}, "t.sq[ni64bigger]")
	test(func(){use(t.sq[0:ni64bigger])}, "t.sq[0:ni64bigger]")
	test(func(){use(t.sq[1:ni64bigger])}, "t.sq[1:ni64bigger]")
	test(func(){use(t.sq[ni64bigger:])}, "t.sq[ni64bigger:]")
	test(func(){use(t.sq[ni64bigger:ni64bigger])}, "t.sq[ni64bigger:ni64bigger]")
	test(func(){use(t.sq[nhuge])}, "t.sq[nhuge]")
	test(func(){use(t.sq[0:nhuge])}, "t.sq[0:nhuge]")
	test(func(){use(t.sq[1:nhuge])}, "t.sq[1:nhuge]")
	test(func(){use(t.sq[nhuge:])}, "t.sq[nhuge:]")
	test(func(){use(t.sq[nhuge:nhuge])}, "t.sq[nhuge:nhuge]")
	test(func(){use(t.sq[cj])}, "t.sq[cj]")
	test(func(){use(t.sq[0:cj])}, "t.sq[0:cj]")
	test(func(){use(t.sq[1:cj])}, "t.sq[1:cj]")
	test(func(){use(t.sq[cj:])}, "t.sq[cj:]")
	test(func(){use(t.sq[cj:cj])}, "t.sq[cj:cj]")
	test(func(){use(t.sq[ci])}, "t.sq[ci]")
	test(func(){use(t.sq[0:ci])}, "t.sq[0:ci]")
	test(func(){use(t.sq[1:ci])}, "t.sq[1:ci]")
	test(func(){use(t.sq[ci:])}, "t.sq[ci:]")
	test(func(){use(t.sq[ci:ci])}, "t.sq[ci:ci]")
	test(func(){use(t.sq[ci32])}, "t.sq[ci32]")
	test(func(){use(t.sq[0:ci32])}, "t.sq[0:ci32]")
	test(func(){use(t.sq[1:ci32])}, "t.sq[1:ci32]")
	test(func(){use(t.sq[ci32:])}, "t.sq[ci32:]")
	test(func(){use(t.sq[ci32:ci32])}, "t.sq[ci32:ci32]")
	test(func(){use(t.sq[ci64])}, "t.sq[ci64]")
	test(func(){use(t.sq[0:ci64])}, "t.sq[0:ci64]")
	test(func(){use(t.sq[1:ci64])}, "t.sq[1:ci64]")
	test(func(){use(t.sq[ci64:])}, "t.sq[ci64:]")
	test(func(){use(t.sq[ci64:ci64])}, "t.sq[ci64:ci64]")
	test(func(){use(pt.ai[j])}, "pt.ai[j]")
	test(func(){use(pt.ai[0:j])}, "pt.ai[0:j]")
	test(func(){use(pt.ai[1:j])}, "pt.ai[1:j]")
	test(func(){use(pt.ai[j:])}, "pt.ai[j:]")
	test(func(){use(pt.ai[j:j])}, "pt.ai[j:j]")
	test(func(){use(pt.ai[i])}, "pt.ai[i]")
	test(func(){use(pt.ai[0:i])}, "pt.ai[0:i]")
	test(func(){use(pt.ai[1:i])}, "pt.ai[1:i]")
	test(func(){use(pt.ai[i:])}, "pt.ai[i:]")
	test(func(){use(pt.ai[i:i])}, "pt.ai[i:i]")
	test(func(){use(pt.ai[i32])}, "pt.ai[i32]")
	test(func(){use(pt.ai[0:i32])}, "pt.ai[0:i32]")
	test(func(){use(pt.ai[1:i32])}, "pt.ai[1:i32]")
	test(func(){use(pt.ai[i32:])}, "pt.ai[i32:]")
	test(func(){use(pt.ai[i32:i32])}, "pt.ai[i32:i32]")
	test(func(){use(pt.ai[i64])}, "pt.ai[i64]")
	test(func(){use(pt.ai[0:i64])}, "pt.ai[0:i64]")
	test(func(){use(pt.ai[1:i64])}, "pt.ai[1:i64]")
	test(func(){use(pt.ai[i64:])}, "pt.ai[i64:]")
	test(func(){use(pt.ai[i64:i64])}, "pt.ai[i64:i64]")
	test(func(){use(pt.ai[i64big])}, "pt.ai[i64big]")
	test(func(){use(pt.ai[0:i64big])}, "pt.ai[0:i64big]")
	test(func(){use(pt.ai[1:i64big])}, "pt.ai[1:i64big]")
	test(func(){use(pt.ai[i64big:])}, "pt.ai[i64big:]")
	test(func(){use(pt.ai[i64big:i64big])}, "pt.ai[i64big:i64big]")
	test(func(){use(pt.ai[i64bigger])}, "pt.ai[i64bigger]")
	test(func(){use(pt.ai[0:i64bigger])}, "pt.ai[0:i64bigger]")
	test(func(){use(pt.ai[1:i64bigger])}, "pt.ai[1:i64bigger]")
	test(func(){use(pt.ai[i64bigger:])}, "pt.ai[i64bigger:]")
	test(func(){use(pt.ai[i64bigger:i64bigger])}, "pt.ai[i64bigger:i64bigger]")
	test(func(){use(pt.ai[huge])}, "pt.ai[huge]")
	test(func(){use(pt.ai[0:huge])}, "pt.ai[0:huge]")
	test(func(){use(pt.ai[1:huge])}, "pt.ai[1:huge]")
	test(func(){use(pt.ai[huge:])}, "pt.ai[huge:]")
	test(func(){use(pt.ai[huge:huge])}, "pt.ai[huge:huge]")
	test(func(){use(pt.ai[nj])}, "pt.ai[nj]")
	test(func(){use(pt.ai[0:nj])}, "pt.ai[0:nj]")
	test(func(){use(pt.ai[1:nj])}, "pt.ai[1:nj]")
	test(func(){use(pt.ai[nj:])}, "pt.ai[nj:]")
	test(func(){use(pt.ai[nj:nj])}, "pt.ai[nj:nj]")
	test(func(){use(pt.ai[ni])}, "pt.ai[ni]")
	test(func(){use(pt.ai[0:ni])}, "pt.ai[0:ni]")
	test(func(){use(pt.ai[1:ni])}, "pt.ai[1:ni]")
	test(func(){use(pt.ai[ni:])}, "pt.ai[ni:]")
	test(func(){use(pt.ai[ni:ni])}, "pt.ai[ni:ni]")
	test(func(){use(pt.ai[ni32])}, "pt.ai[ni32]")
	test(func(){use(pt.ai[0:ni32])}, "pt.ai[0:ni32]")
	test(func(){use(pt.ai[1:ni32])}, "pt.ai[1:ni32]")
	test(func(){use(pt.ai[ni32:])}, "pt.ai[ni32:]")
	test(func(){use(pt.ai[ni32:ni32])}, "pt.ai[ni32:ni32]")
	test(func(){use(pt.ai[ni64])}, "pt.ai[ni64]")
	test(func(){use(pt.ai[0:ni64])}, "pt.ai[0:ni64]")
	test(func(){use(pt.ai[1:ni64])}, "pt.ai[1:ni64]")
	test(func(){use(pt.ai[ni64:])}, "pt.ai[ni64:]")
	test(func(){use(pt.ai[ni64:ni64])}, "pt.ai[ni64:ni64]")
	test(func(){use(pt.ai[ni64big])}, "pt.ai[ni64big]")
	test(func(){use(pt.ai[0:ni64big])}, "pt.ai[0:ni64big]")
	test(func(){use(pt.ai[1:ni64big])}, "pt.ai[1:ni64big]")
	test(func(){use(pt.ai[ni64big:])}, "pt.ai[ni64big:]")
	test(func(){use(pt.ai[ni64big:ni64big])}, "pt.ai[ni64big:ni64big]")
	test(func(){use(pt.ai[ni64bigger])}, "pt.ai[ni64bigger]")
	test(func(){use(pt.ai[0:ni64bigger])}, "pt.ai[0:ni64bigger]")
	test(func(){use(pt.ai[1:ni64bigger])}, "pt.ai[1:ni64bigger]")
	test(func(){use(pt.ai[ni64bigger:])}, "pt.ai[ni64bigger:]")
	test(func(){use(pt.ai[ni64bigger:ni64bigger])}, "pt.ai[ni64bigger:ni64bigger]")
	test(func(){use(pt.ai[nhuge])}, "pt.ai[nhuge]")
	test(func(){use(pt.ai[0:nhuge])}, "pt.ai[0:nhuge]")
	test(func(){use(pt.ai[1:nhuge])}, "pt.ai[1:nhuge]")
	test(func(){use(pt.ai[nhuge:])}, "pt.ai[nhuge:]")
	test(func(){use(pt.ai[nhuge:nhuge])}, "pt.ai[nhuge:nhuge]")
	test(func(){use(pt.aq[j])}, "pt.aq[j]")
	test(func(){use(pt.aq[0:j])}, "pt.aq[0:j]")
	test(func(){use(pt.aq[1:j])}, "pt.aq[1:j]")
	test(func(){use(pt.aq[j:])}, "pt.aq[j:]")
	test(func(){use(pt.aq[j:j])}, "pt.aq[j:j]")
	test(func(){use(pt.aq[i])}, "pt.aq[i]")
	test(func(){use(pt.aq[0:i])}, "pt.aq[0:i]")
	test(func(){use(pt.aq[1:i])}, "pt.aq[1:i]")
	test(func(){use(pt.aq[i:])}, "pt.aq[i:]")
	test(func(){use(pt.aq[i:i])}, "pt.aq[i:i]")
	test(func(){use(pt.aq[i32])}, "pt.aq[i32]")
	test(func(){use(pt.aq[0:i32])}, "pt.aq[0:i32]")
	test(func(){use(pt.aq[1:i32])}, "pt.aq[1:i32]")
	test(func(){use(pt.aq[i32:])}, "pt.aq[i32:]")
	test(func(){use(pt.aq[i32:i32])}, "pt.aq[i32:i32]")
	test(func(){use(pt.aq[i64])}, "pt.aq[i64]")
	test(func(){use(pt.aq[0:i64])}, "pt.aq[0:i64]")
	test(func(){use(pt.aq[1:i64])}, "pt.aq[1:i64]")
	test(func(){use(pt.aq[i64:])}, "pt.aq[i64:]")
	test(func(){use(pt.aq[i64:i64])}, "pt.aq[i64:i64]")
	test(func(){use(pt.aq[i64big])}, "pt.aq[i64big]")
	test(func(){use(pt.aq[0:i64big])}, "pt.aq[0:i64big]")
	test(func(){use(pt.aq[1:i64big])}, "pt.aq[1:i64big]")
	test(func(){use(pt.aq[i64big:])}, "pt.aq[i64big:]")
	test(func(){use(pt.aq[i64big:i64big])}, "pt.aq[i64big:i64big]")
	test(func(){use(pt.aq[i64bigger])}, "pt.aq[i64bigger]")
	test(func(){use(pt.aq[0:i64bigger])}, "pt.aq[0:i64bigger]")
	test(func(){use(pt.aq[1:i64bigger])}, "pt.aq[1:i64bigger]")
	test(func(){use(pt.aq[i64bigger:])}, "pt.aq[i64bigger:]")
	test(func(){use(pt.aq[i64bigger:i64bigger])}, "pt.aq[i64bigger:i64bigger]")
	test(func(){use(pt.aq[huge])}, "pt.aq[huge]")
	test(func(){use(pt.aq[0:huge])}, "pt.aq[0:huge]")
	test(func(){use(pt.aq[1:huge])}, "pt.aq[1:huge]")
	test(func(){use(pt.aq[huge:])}, "pt.aq[huge:]")
	test(func(){use(pt.aq[huge:huge])}, "pt.aq[huge:huge]")
	test(func(){use(pt.aq[nj])}, "pt.aq[nj]")
	test(func(){use(pt.aq[0:nj])}, "pt.aq[0:nj]")
	test(func(){use(pt.aq[1:nj])}, "pt.aq[1:nj]")
	test(func(){use(pt.aq[nj:])}, "pt.aq[nj:]")
	test(func(){use(pt.aq[nj:nj])}, "pt.aq[nj:nj]")
	test(func(){use(pt.aq[ni])}, "pt.aq[ni]")
	test(func(){use(pt.aq[0:ni])}, "pt.aq[0:ni]")
	test(func(){use(pt.aq[1:ni])}, "pt.aq[1:ni]")
	test(func(){use(pt.aq[ni:])}, "pt.aq[ni:]")
	test(func(){use(pt.aq[ni:ni])}, "pt.aq[ni:ni]")
	test(func(){use(pt.aq[ni32])}, "pt.aq[ni32]")
	test(func(){use(pt.aq[0:ni32])}, "pt.aq[0:ni32]")
	test(func(){use(pt.aq[1:ni32])}, "pt.aq[1:ni32]")
	test(func(){use(pt.aq[ni32:])}, "pt.aq[ni32:]")
	test(func(){use(pt.aq[ni32:ni32])}, "pt.aq[ni32:ni32]")
	test(func(){use(pt.aq[ni64])}, "pt.aq[ni64]")
	test(func(){use(pt.aq[0:ni64])}, "pt.aq[0:ni64]")
	test(func(){use(pt.aq[1:ni64])}, "pt.aq[1:ni64]")
	test(func(){use(pt.aq[ni64:])}, "pt.aq[ni64:]")
	test(func(){use(pt.aq[ni64:ni64])}, "pt.aq[ni64:ni64]")
	test(func(){use(pt.aq[ni64big])}, "pt.aq[ni64big]")
	test(func(){use(pt.aq[0:ni64big])}, "pt.aq[0:ni64big]")
	test(func(){use(pt.aq[1:ni64big])}, "pt.aq[1:ni64big]")
	test(func(){use(pt.aq[ni64big:])}, "pt.aq[ni64big:]")
	test(func(){use(pt.aq[ni64big:ni64big])}, "pt.aq[ni64big:ni64big]")
	test(func(){use(pt.aq[ni64bigger])}, "pt.aq[ni64bigger]")
	test(func(){use(pt.aq[0:ni64bigger])}, "pt.aq[0:ni64bigger]")
	test(func(){use(pt.aq[1:ni64bigger])}, "pt.aq[1:ni64bigger]")
	test(func(){use(pt.aq[ni64bigger:])}, "pt.aq[ni64bigger:]")
	test(func(){use(pt.aq[ni64bigger:ni64bigger])}, "pt.aq[ni64bigger:ni64bigger]")
	test(func(){use(pt.aq[nhuge])}, "pt.aq[nhuge]")
	test(func(){use(pt.aq[0:nhuge])}, "pt.aq[0:nhuge]")
	test(func(){use(pt.aq[1:nhuge])}, "pt.aq[1:nhuge]")
	test(func(){use(pt.aq[nhuge:])}, "pt.aq[nhuge:]")
	test(func(){use(pt.aq[nhuge:nhuge])}, "pt.aq[nhuge:nhuge]")
	test(func(){use(pt.pai[j])}, "pt.pai[j]")
	test(func(){use(pt.pai[0:j])}, "pt.pai[0:j]")
	test(func(){use(pt.pai[1:j])}, "pt.pai[1:j]")
	test(func(){use(pt.pai[j:])}, "pt.pai[j:]")
	test(func(){use(pt.pai[j:j])}, "pt.pai[j:j]")
	test(func(){use(pt.pai[i])}, "pt.pai[i]")
	test(func(){use(pt.pai[0:i])}, "pt.pai[0:i]")
	test(func(){use(pt.pai[1:i])}, "pt.pai[1:i]")
	test(func(){use(pt.pai[i:])}, "pt.pai[i:]")
	test(func(){use(pt.pai[i:i])}, "pt.pai[i:i]")
	test(func(){use(pt.pai[i32])}, "pt.pai[i32]")
	test(func(){use(pt.pai[0:i32])}, "pt.pai[0:i32]")
	test(func(){use(pt.pai[1:i32])}, "pt.pai[1:i32]")
	test(func(){use(pt.pai[i32:])}, "pt.pai[i32:]")
	test(func(){use(pt.pai[i32:i32])}, "pt.pai[i32:i32]")
	test(func(){use(pt.pai[i64])}, "pt.pai[i64]")
	test(func(){use(pt.pai[0:i64])}, "pt.pai[0:i64]")
	test(func(){use(pt.pai[1:i64])}, "pt.pai[1:i64]")
	test(func(){use(pt.pai[i64:])}, "pt.pai[i64:]")
	test(func(){use(pt.pai[i64:i64])}, "pt.pai[i64:i64]")
	test(func(){use(pt.pai[i64big])}, "pt.pai[i64big]")
	test(func(){use(pt.pai[0:i64big])}, "pt.pai[0:i64big]")
	test(func(){use(pt.pai[1:i64big])}, "pt.pai[1:i64big]")
	test(func(){use(pt.pai[i64big:])}, "pt.pai[i64big:]")
	test(func(){use(pt.pai[i64big:i64big])}, "pt.pai[i64big:i64big]")
	test(func(){use(pt.pai[i64bigger])}, "pt.pai[i64bigger]")
	test(func(){use(pt.pai[0:i64bigger])}, "pt.pai[0:i64bigger]")
	test(func(){use(pt.pai[1:i64bigger])}, "pt.pai[1:i64bigger]")
	test(func(){use(pt.pai[i64bigger:])}, "pt.pai[i64bigger:]")
	test(func(){use(pt.pai[i64bigger:i64bigger])}, "pt.pai[i64bigger:i64bigger]")
	test(func(){use(pt.pai[huge])}, "pt.pai[huge]")
	test(func(){use(pt.pai[0:huge])}, "pt.pai[0:huge]")
	test(func(){use(pt.pai[1:huge])}, "pt.pai[1:huge]")
	test(func(){use(pt.pai[huge:])}, "pt.pai[huge:]")
	test(func(){use(pt.pai[huge:huge])}, "pt.pai[huge:huge]")
	test(func(){use(pt.pai[nj])}, "pt.pai[nj]")
	test(func(){use(pt.pai[0:nj])}, "pt.pai[0:nj]")
	test(func(){use(pt.pai[1:nj])}, "pt.pai[1:nj]")
	test(func(){use(pt.pai[nj:])}, "pt.pai[nj:]")
	test(func(){use(pt.pai[nj:nj])}, "pt.pai[nj:nj]")
	test(func(){use(pt.pai[ni])}, "pt.pai[ni]")
	test(func(){use(pt.pai[0:ni])}, "pt.pai[0:ni]")
	test(func(){use(pt.pai[1:ni])}, "pt.pai[1:ni]")
	test(func(){use(pt.pai[ni:])}, "pt.pai[ni:]")
	test(func(){use(pt.pai[ni:ni])}, "pt.pai[ni:ni]")
	test(func(){use(pt.pai[ni32])}, "pt.pai[ni32]")
	test(func(){use(pt.pai[0:ni32])}, "pt.pai[0:ni32]")
	test(func(){use(pt.pai[1:ni32])}, "pt.pai[1:ni32]")
	test(func(){use(pt.pai[ni32:])}, "pt.pai[ni32:]")
	test(func(){use(pt.pai[ni32:ni32])}, "pt.pai[ni32:ni32]")
	test(func(){use(pt.pai[ni64])}, "pt.pai[ni64]")
	test(func(){use(pt.pai[0:ni64])}, "pt.pai[0:ni64]")
	test(func(){use(pt.pai[1:ni64])}, "pt.pai[1:ni64]")
	test(func(){use(pt.pai[ni64:])}, "pt.pai[ni64:]")
	test(func(){use(pt.pai[ni64:ni64])}, "pt.pai[ni64:ni64]")
	test(func(){use(pt.pai[ni64big])}, "pt.pai[ni64big]")
	test(func(){use(pt.pai[0:ni64big])}, "pt.pai[0:ni64big]")
	test(func(){use(pt.pai[1:ni64big])}, "pt.pai[1:ni64big]")
	test(func(){use(pt.pai[ni64big:])}, "pt.pai[ni64big:]")
	test(func(){use(pt.pai[ni64big:ni64big])}, "pt.pai[ni64big:ni64big]")
	test(func(){use(pt.pai[ni64bigger])}, "pt.pai[ni64bigger]")
	test(func(){use(pt.pai[0:ni64bigger])}, "pt.pai[0:ni64bigger]")
	test(func(){use(pt.pai[1:ni64bigger])}, "pt.pai[1:ni64bigger]")
	test(func(){use(pt.pai[ni64bigger:])}, "pt.pai[ni64bigger:]")
	test(func(){use(pt.pai[ni64bigger:ni64bigger])}, "pt.pai[ni64bigger:ni64bigger]")
	test(func(){use(pt.pai[nhuge])}, "pt.pai[nhuge]")
	test(func(){use(pt.pai[0:nhuge])}, "pt.pai[0:nhuge]")
	test(func(){use(pt.pai[1:nhuge])}, "pt.pai[1:nhuge]")
	test(func(){use(pt.pai[nhuge:])}, "pt.pai[nhuge:]")
	test(func(){use(pt.pai[nhuge:nhuge])}, "pt.pai[nhuge:nhuge]")
	test(func(){use(pt.paq[j])}, "pt.paq[j]")
	test(func(){use(pt.paq[0:j])}, "pt.paq[0:j]")
	test(func(){use(pt.paq[1:j])}, "pt.paq[1:j]")
	test(func(){use(pt.paq[j:])}, "pt.paq[j:]")
	test(func(){use(pt.paq[j:j])}, "pt.paq[j:j]")
	test(func(){use(pt.paq[i])}, "pt.paq[i]")
	test(func(){use(pt.paq[0:i])}, "pt.paq[0:i]")
	test(func(){use(pt.paq[1:i])}, "pt.paq[1:i]")
	test(func(){use(pt.paq[i:])}, "pt.paq[i:]")
	test(func(){use(pt.paq[i:i])}, "pt.paq[i:i]")
	test(func(){use(pt.paq[i32])}, "pt.paq[i32]")
	test(func(){use(pt.paq[0:i32])}, "pt.paq[0:i32]")
	test(func(){use(pt.paq[1:i32])}, "pt.paq[1:i32]")
	test(func(){use(pt.paq[i32:])}, "pt.paq[i32:]")
	test(func(){use(pt.paq[i32:i32])}, "pt.paq[i32:i32]")
	test(func(){use(pt.paq[i64])}, "pt.paq[i64]")
	test(func(){use(pt.paq[0:i64])}, "pt.paq[0:i64]")
	test(func(){use(pt.paq[1:i64])}, "pt.paq[1:i64]")
	test(func(){use(pt.paq[i64:])}, "pt.paq[i64:]")
	test(func(){use(pt.paq[i64:i64])}, "pt.paq[i64:i64]")
	test(func(){use(pt.paq[i64big])}, "pt.paq[i64big]")
	test(func(){use(pt.paq[0:i64big])}, "pt.paq[0:i64big]")
	test(func(){use(pt.paq[1:i64big])}, "pt.paq[1:i64big]")
	test(func(){use(pt.paq[i64big:])}, "pt.paq[i64big:]")
	test(func(){use(pt.paq[i64big:i64big])}, "pt.paq[i64big:i64big]")
	test(func(){use(pt.paq[i64bigger])}, "pt.paq[i64bigger]")
	test(func(){use(pt.paq[0:i64bigger])}, "pt.paq[0:i64bigger]")
	test(func(){use(pt.paq[1:i64bigger])}, "pt.paq[1:i64bigger]")
	test(func(){use(pt.paq[i64bigger:])}, "pt.paq[i64bigger:]")
	test(func(){use(pt.paq[i64bigger:i64bigger])}, "pt.paq[i64bigger:i64bigger]")
	test(func(){use(pt.paq[huge])}, "pt.paq[huge]")
	test(func(){use(pt.paq[0:huge])}, "pt.paq[0:huge]")
	test(func(){use(pt.paq[1:huge])}, "pt.paq[1:huge]")
	test(func(){use(pt.paq[huge:])}, "pt.paq[huge:]")
	test(func(){use(pt.paq[huge:huge])}, "pt.paq[huge:huge]")
	test(func(){use(pt.paq[nj])}, "pt.paq[nj]")
	test(func(){use(pt.paq[0:nj])}, "pt.paq[0:nj]")
	test(func(){use(pt.paq[1:nj])}, "pt.paq[1:nj]")
	test(func(){use(pt.paq[nj:])}, "pt.paq[nj:]")
	test(func(){use(pt.paq[nj:nj])}, "pt.paq[nj:nj]")
	test(func(){use(pt.paq[ni])}, "pt.paq[ni]")
	test(func(){use(pt.paq[0:ni])}, "pt.paq[0:ni]")
	test(func(){use(pt.paq[1:ni])}, "pt.paq[1:ni]")
	test(func(){use(pt.paq[ni:])}, "pt.paq[ni:]")
	test(func(){use(pt.paq[ni:ni])}, "pt.paq[ni:ni]")
	test(func(){use(pt.paq[ni32])}, "pt.paq[ni32]")
	test(func(){use(pt.paq[0:ni32])}, "pt.paq[0:ni32]")
	test(func(){use(pt.paq[1:ni32])}, "pt.paq[1:ni32]")
	test(func(){use(pt.paq[ni32:])}, "pt.paq[ni32:]")
	test(func(){use(pt.paq[ni32:ni32])}, "pt.paq[ni32:ni32]")
	test(func(){use(pt.paq[ni64])}, "pt.paq[ni64]")
	test(func(){use(pt.paq[0:ni64])}, "pt.paq[0:ni64]")
	test(func(){use(pt.paq[1:ni64])}, "pt.paq[1:ni64]")
	test(func(){use(pt.paq[ni64:])}, "pt.paq[ni64:]")
	test(func(){use(pt.paq[ni64:ni64])}, "pt.paq[ni64:ni64]")
	test(func(){use(pt.paq[ni64big])}, "pt.paq[ni64big]")
	test(func(){use(pt.paq[0:ni64big])}, "pt.paq[0:ni64big]")
	test(func(){use(pt.paq[1:ni64big])}, "pt.paq[1:ni64big]")
	test(func(){use(pt.paq[ni64big:])}, "pt.paq[ni64big:]")
	test(func(){use(pt.paq[ni64big:ni64big])}, "pt.paq[ni64big:ni64big]")
	test(func(){use(pt.paq[ni64bigger])}, "pt.paq[ni64bigger]")
	test(func(){use(pt.paq[0:ni64bigger])}, "pt.paq[0:ni64bigger]")
	test(func(){use(pt.paq[1:ni64bigger])}, "pt.paq[1:ni64bigger]")
	test(func(){use(pt.paq[ni64bigger:])}, "pt.paq[ni64bigger:]")
	test(func(){use(pt.paq[ni64bigger:ni64bigger])}, "pt.paq[ni64bigger:ni64bigger]")
	test(func(){use(pt.paq[nhuge])}, "pt.paq[nhuge]")
	test(func(){use(pt.paq[0:nhuge])}, "pt.paq[0:nhuge]")
	test(func(){use(pt.paq[1:nhuge])}, "pt.paq[1:nhuge]")
	test(func(){use(pt.paq[nhuge:])}, "pt.paq[nhuge:]")
	test(func(){use(pt.paq[nhuge:nhuge])}, "pt.paq[nhuge:nhuge]")
	test(func(){use(pt.si[j])}, "pt.si[j]")
	test(func(){use(pt.si[0:j])}, "pt.si[0:j]")
	test(func(){use(pt.si[1:j])}, "pt.si[1:j]")
	test(func(){use(pt.si[j:])}, "pt.si[j:]")
	test(func(){use(pt.si[j:j])}, "pt.si[j:j]")
	test(func(){use(pt.si[i])}, "pt.si[i]")
	test(func(){use(pt.si[0:i])}, "pt.si[0:i]")
	test(func(){use(pt.si[1:i])}, "pt.si[1:i]")
	test(func(){use(pt.si[i:])}, "pt.si[i:]")
	test(func(){use(pt.si[i:i])}, "pt.si[i:i]")
	test(func(){use(pt.si[i32])}, "pt.si[i32]")
	test(func(){use(pt.si[0:i32])}, "pt.si[0:i32]")
	test(func(){use(pt.si[1:i32])}, "pt.si[1:i32]")
	test(func(){use(pt.si[i32:])}, "pt.si[i32:]")
	test(func(){use(pt.si[i32:i32])}, "pt.si[i32:i32]")
	test(func(){use(pt.si[i64])}, "pt.si[i64]")
	test(func(){use(pt.si[0:i64])}, "pt.si[0:i64]")
	test(func(){use(pt.si[1:i64])}, "pt.si[1:i64]")
	test(func(){use(pt.si[i64:])}, "pt.si[i64:]")
	test(func(){use(pt.si[i64:i64])}, "pt.si[i64:i64]")
	test(func(){use(pt.si[i64big])}, "pt.si[i64big]")
	test(func(){use(pt.si[0:i64big])}, "pt.si[0:i64big]")
	test(func(){use(pt.si[1:i64big])}, "pt.si[1:i64big]")
	test(func(){use(pt.si[i64big:])}, "pt.si[i64big:]")
	test(func(){use(pt.si[i64big:i64big])}, "pt.si[i64big:i64big]")
	test(func(){use(pt.si[i64bigger])}, "pt.si[i64bigger]")
	test(func(){use(pt.si[0:i64bigger])}, "pt.si[0:i64bigger]")
	test(func(){use(pt.si[1:i64bigger])}, "pt.si[1:i64bigger]")
	test(func(){use(pt.si[i64bigger:])}, "pt.si[i64bigger:]")
	test(func(){use(pt.si[i64bigger:i64bigger])}, "pt.si[i64bigger:i64bigger]")
	test(func(){use(pt.si[huge])}, "pt.si[huge]")
	test(func(){use(pt.si[0:huge])}, "pt.si[0:huge]")
	test(func(){use(pt.si[1:huge])}, "pt.si[1:huge]")
	test(func(){use(pt.si[huge:])}, "pt.si[huge:]")
	test(func(){use(pt.si[huge:huge])}, "pt.si[huge:huge]")
	test(func(){use(pt.si[nj])}, "pt.si[nj]")
	test(func(){use(pt.si[0:nj])}, "pt.si[0:nj]")
	test(func(){use(pt.si[1:nj])}, "pt.si[1:nj]")
	test(func(){use(pt.si[nj:])}, "pt.si[nj:]")
	test(func(){use(pt.si[nj:nj])}, "pt.si[nj:nj]")
	test(func(){use(pt.si[ni])}, "pt.si[ni]")
	test(func(){use(pt.si[0:ni])}, "pt.si[0:ni]")
	test(func(){use(pt.si[1:ni])}, "pt.si[1:ni]")
	test(func(){use(pt.si[ni:])}, "pt.si[ni:]")
	test(func(){use(pt.si[ni:ni])}, "pt.si[ni:ni]")
	test(func(){use(pt.si[ni32])}, "pt.si[ni32]")
	test(func(){use(pt.si[0:ni32])}, "pt.si[0:ni32]")
	test(func(){use(pt.si[1:ni32])}, "pt.si[1:ni32]")
	test(func(){use(pt.si[ni32:])}, "pt.si[ni32:]")
	test(func(){use(pt.si[ni32:ni32])}, "pt.si[ni32:ni32]")
	test(func(){use(pt.si[ni64])}, "pt.si[ni64]")
	test(func(){use(pt.si[0:ni64])}, "pt.si[0:ni64]")
	test(func(){use(pt.si[1:ni64])}, "pt.si[1:ni64]")
	test(func(){use(pt.si[ni64:])}, "pt.si[ni64:]")
	test(func(){use(pt.si[ni64:ni64])}, "pt.si[ni64:ni64]")
	test(func(){use(pt.si[ni64big])}, "pt.si[ni64big]")
	test(func(){use(pt.si[0:ni64big])}, "pt.si[0:ni64big]")
	test(func(){use(pt.si[1:ni64big])}, "pt.si[1:ni64big]")
	test(func(){use(pt.si[ni64big:])}, "pt.si[ni64big:]")
	test(func(){use(pt.si[ni64big:ni64big])}, "pt.si[ni64big:ni64big]")
	test(func(){use(pt.si[ni64bigger])}, "pt.si[ni64bigger]")
	test(func(){use(pt.si[0:ni64bigger])}, "pt.si[0:ni64bigger]")
	test(func(){use(pt.si[1:ni64bigger])}, "pt.si[1:ni64bigger]")
	test(func(){use(pt.si[ni64bigger:])}, "pt.si[ni64bigger:]")
	test(func(){use(pt.si[ni64bigger:ni64bigger])}, "pt.si[ni64bigger:ni64bigger]")
	test(func(){use(pt.si[nhuge])}, "pt.si[nhuge]")
	test(func(){use(pt.si[0:nhuge])}, "pt.si[0:nhuge]")
	test(func(){use(pt.si[1:nhuge])}, "pt.si[1:nhuge]")
	test(func(){use(pt.si[nhuge:])}, "pt.si[nhuge:]")
	test(func(){use(pt.si[nhuge:nhuge])}, "pt.si[nhuge:nhuge]")
	test(func(){use(pt.si[cj])}, "pt.si[cj]")
	test(func(){use(pt.si[0:cj])}, "pt.si[0:cj]")
	test(func(){use(pt.si[1:cj])}, "pt.si[1:cj]")
	test(func(){use(pt.si[cj:])}, "pt.si[cj:]")
	test(func(){use(pt.si[cj:cj])}, "pt.si[cj:cj]")
	test(func(){use(pt.si[ci])}, "pt.si[ci]")
	test(func(){use(pt.si[0:ci])}, "pt.si[0:ci]")
	test(func(){use(pt.si[1:ci])}, "pt.si[1:ci]")
	test(func(){use(pt.si[ci:])}, "pt.si[ci:]")
	test(func(){use(pt.si[ci:ci])}, "pt.si[ci:ci]")
	test(func(){use(pt.si[ci32])}, "pt.si[ci32]")
	test(func(){use(pt.si[0:ci32])}, "pt.si[0:ci32]")
	test(func(){use(pt.si[1:ci32])}, "pt.si[1:ci32]")
	test(func(){use(pt.si[ci32:])}, "pt.si[ci32:]")
	test(func(){use(pt.si[ci32:ci32])}, "pt.si[ci32:ci32]")
	test(func(){use(pt.si[ci64])}, "pt.si[ci64]")
	test(func(){use(pt.si[0:ci64])}, "pt.si[0:ci64]")
	test(func(){use(pt.si[1:ci64])}, "pt.si[1:ci64]")
	test(func(){use(pt.si[ci64:])}, "pt.si[ci64:]")
	test(func(){use(pt.si[ci64:ci64])}, "pt.si[ci64:ci64]")
	test(func(){use(pt.sq[j])}, "pt.sq[j]")
	test(func(){use(pt.sq[0:j])}, "pt.sq[0:j]")
	test(func(){use(pt.sq[1:j])}, "pt.sq[1:j]")
	test(func(){use(pt.sq[j:])}, "pt.sq[j:]")
	test(func(){use(pt.sq[j:j])}, "pt.sq[j:j]")
	test(func(){use(pt.sq[i])}, "pt.sq[i]")
	test(func(){use(pt.sq[0:i])}, "pt.sq[0:i]")
	test(func(){use(pt.sq[1:i])}, "pt.sq[1:i]")
	test(func(){use(pt.sq[i:])}, "pt.sq[i:]")
	test(func(){use(pt.sq[i:i])}, "pt.sq[i:i]")
	test(func(){use(pt.sq[i32])}, "pt.sq[i32]")
	test(func(){use(pt.sq[0:i32])}, "pt.sq[0:i32]")
	test(func(){use(pt.sq[1:i32])}, "pt.sq[1:i32]")
	test(func(){use(pt.sq[i32:])}, "pt.sq[i32:]")
	test(func(){use(pt.sq[i32:i32])}, "pt.sq[i32:i32]")
	test(func(){use(pt.sq[i64])}, "pt.sq[i64]")
	test(func(){use(pt.sq[0:i64])}, "pt.sq[0:i64]")
	test(func(){use(pt.sq[1:i64])}, "pt.sq[1:i64]")
	test(func(){use(pt.sq[i64:])}, "pt.sq[i64:]")
	test(func(){use(pt.sq[i64:i64])}, "pt.sq[i64:i64]")
	test(func(){use(pt.sq[i64big])}, "pt.sq[i64big]")
	test(func(){use(pt.sq[0:i64big])}, "pt.sq[0:i64big]")
	test(func(){use(pt.sq[1:i64big])}, "pt.sq[1:i64big]")
	test(func(){use(pt.sq[i64big:])}, "pt.sq[i64big:]")
	test(func(){use(pt.sq[i64big:i64big])}, "pt.sq[i64big:i64big]")
	test(func(){use(pt.sq[i64bigger])}, "pt.sq[i64bigger]")
	test(func(){use(pt.sq[0:i64bigger])}, "pt.sq[0:i64bigger]")
	test(func(){use(pt.sq[1:i64bigger])}, "pt.sq[1:i64bigger]")
	test(func(){use(pt.sq[i64bigger:])}, "pt.sq[i64bigger:]")
	test(func(){use(pt.sq[i64bigger:i64bigger])}, "pt.sq[i64bigger:i64bigger]")
	test(func(){use(pt.sq[huge])}, "pt.sq[huge]")
	test(func(){use(pt.sq[0:huge])}, "pt.sq[0:huge]")
	test(func(){use(pt.sq[1:huge])}, "pt.sq[1:huge]")
	test(func(){use(pt.sq[huge:])}, "pt.sq[huge:]")
	test(func(){use(pt.sq[huge:huge])}, "pt.sq[huge:huge]")
	test(func(){use(pt.sq[nj])}, "pt.sq[nj]")
	test(func(){use(pt.sq[0:nj])}, "pt.sq[0:nj]")
	test(func(){use(pt.sq[1:nj])}, "pt.sq[1:nj]")
	test(func(){use(pt.sq[nj:])}, "pt.sq[nj:]")
	test(func(){use(pt.sq[nj:nj])}, "pt.sq[nj:nj]")
	test(func(){use(pt.sq[ni])}, "pt.sq[ni]")
	test(func(){use(pt.sq[0:ni])}, "pt.sq[0:ni]")
	test(func(){use(pt.sq[1:ni])}, "pt.sq[1:ni]")
	test(func(){use(pt.sq[ni:])}, "pt.sq[ni:]")
	test(func(){use(pt.sq[ni:ni])}, "pt.sq[ni:ni]")
	test(func(){use(pt.sq[ni32])}, "pt.sq[ni32]")
	test(func(){use(pt.sq[0:ni32])}, "pt.sq[0:ni32]")
	test(func(){use(pt.sq[1:ni32])}, "pt.sq[1:ni32]")
	test(func(){use(pt.sq[ni32:])}, "pt.sq[ni32:]")
	test(func(){use(pt.sq[ni32:ni32])}, "pt.sq[ni32:ni32]")
	test(func(){use(pt.sq[ni64])}, "pt.sq[ni64]")
	test(func(){use(pt.sq[0:ni64])}, "pt.sq[0:ni64]")
	test(func(){use(pt.sq[1:ni64])}, "pt.sq[1:ni64]")
	test(func(){use(pt.sq[ni64:])}, "pt.sq[ni64:]")
	test(func(){use(pt.sq[ni64:ni64])}, "pt.sq[ni64:ni64]")
	test(func(){use(pt.sq[ni64big])}, "pt.sq[ni64big]")
	test(func(){use(pt.sq[0:ni64big])}, "pt.sq[0:ni64big]")
	test(func(){use(pt.sq[1:ni64big])}, "pt.sq[1:ni64big]")
	test(func(){use(pt.sq[ni64big:])}, "pt.sq[ni64big:]")
	test(func(){use(pt.sq[ni64big:ni64big])}, "pt.sq[ni64big:ni64big]")
	test(func(){use(pt.sq[ni64bigger])}, "pt.sq[ni64bigger]")
	test(func(){use(pt.sq[0:ni64bigger])}, "pt.sq[0:ni64bigger]")
	test(func(){use(pt.sq[1:ni64bigger])}, "pt.sq[1:ni64bigger]")
	test(func(){use(pt.sq[ni64bigger:])}, "pt.sq[ni64bigger:]")
	test(func(){use(pt.sq[ni64bigger:ni64bigger])}, "pt.sq[ni64bigger:ni64bigger]")
	test(func(){use(pt.sq[nhuge])}, "pt.sq[nhuge]")
	test(func(){use(pt.sq[0:nhuge])}, "pt.sq[0:nhuge]")
	test(func(){use(pt.sq[1:nhuge])}, "pt.sq[1:nhuge]")
	test(func(){use(pt.sq[nhuge:])}, "pt.sq[nhuge:]")
	test(func(){use(pt.sq[nhuge:nhuge])}, "pt.sq[nhuge:nhuge]")
	test(func(){use(pt.sq[cj])}, "pt.sq[cj]")
	test(func(){use(pt.sq[0:cj])}, "pt.sq[0:cj]")
	test(func(){use(pt.sq[1:cj])}, "pt.sq[1:cj]")
	test(func(){use(pt.sq[cj:])}, "pt.sq[cj:]")
	test(func(){use(pt.sq[cj:cj])}, "pt.sq[cj:cj]")
	test(func(){use(pt.sq[ci])}, "pt.sq[ci]")
	test(func(){use(pt.sq[0:ci])}, "pt.sq[0:ci]")
	test(func(){use(pt.sq[1:ci])}, "pt.sq[1:ci]")
	test(func(){use(pt.sq[ci:])}, "pt.sq[ci:]")
	test(func(){use(pt.sq[ci:ci])}, "pt.sq[ci:ci]")
	test(func(){use(pt.sq[ci32])}, "pt.sq[ci32]")
	test(func(){use(pt.sq[0:ci32])}, "pt.sq[0:ci32]")
	test(func(){use(pt.sq[1:ci32])}, "pt.sq[1:ci32]")
	test(func(){use(pt.sq[ci32:])}, "pt.sq[ci32:]")
	test(func(){use(pt.sq[ci32:ci32])}, "pt.sq[ci32:ci32]")
	test(func(){use(pt.sq[ci64])}, "pt.sq[ci64]")
	test(func(){use(pt.sq[0:ci64])}, "pt.sq[0:ci64]")
	test(func(){use(pt.sq[1:ci64])}, "pt.sq[1:ci64]")
	test(func(){use(pt.sq[ci64:])}, "pt.sq[ci64:]")
	test(func(){use(pt.sq[ci64:ci64])}, "pt.sq[ci64:ci64]")
}

